timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000)

  stmt:statement,即使要执行的东西

  setup:赋值予stmt中某些不明确的变量对象,如果stmt已经足够明确了,那就可以省略

  timer:

  number:运行的次数

e.g1:setup是如何用的

  >>> import timeit
  >>> timeit.timeit('char in text', setup=' text = "sample string"; char = "g" ')    #此地就是setup分别对stmt中的char与text两个变量赋予了值,注意,多附值语句用’;‘相隔
    0.41440500499993504
  >>> timeit.timeit('text.find(char)', setup=' text = "sample str"; char = "g" ')
    1.7246671520006203

e.g2:如何运行一段字符串型代码

  >>> s = """\
  ... try:
  ... str.__bool__
  ... except AttributeError:
  ... pass
  ... """
  >>> timeit.timeit(stmt=s, number=100000)
    0.9138244460009446
  >>> s = "if hasattr(str, '__bool__'): pass"
  >>> timeit.timeit(stmt=s, number=100000)
    0.5829014980008651

e.g3:如何运行函数以及类的方法

  运行函数:

    IDE中:

      s="""
      def multinumber(a,b):
        return a*b
      """

      print( timeit.timeit('multinumber(3,4)', setup= s) )

    命令行中:

      >>> timeit.timeit( "f()" , """
      ... def f():
      ...   pass
      ... """ )
      0.13721893899491988

  运行类方法:

    IDE中:

    s="""
    class SomeClass:
     def method(self):
      pass
    """     print(timeit.timeit( "SomeClass().method", s ))

    命令行中:

      >>> timeit.timeit( "obj.method()", """
      ... class SomeClass:
      ...   def method(self):
      ...     pass
      ... obj= SomeClass()        #注,此setip中即完成了类定义,还完成了赋值
      """)
        0.1980541350058047

其中用的最多应该就是.eg3了,因为大量情况下我们需要用它来看一个函数的运行时间,或者是用类实现了一种数据结构类型,查看其各种方法的时间

python运行时间计算之timeit的更多相关文章

  1. 计算Python运行时间

    可以调用datetime 或者 time库实现得到Python运行时间 方法1 import datetime start_t  = datetime.datetime.now() #运行大型代码 e ...

  2. python之lambda,random,timeit,collections,

    python之lambda,random,timeit,collections,一. python之lambda函数lambda函数又称为匿名函数,匿名函数就是没有函数名的函数.>>> ...

  3. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  4. Python TF-IDF计算100份文档关键词权重

    上一篇博文中,我们使用结巴分词对文档进行分词处理,但分词所得结果并不是每个词语都是有意义的(即该词对文档的内容贡献少),那么如何来判断词语对文档的重要度呢,这里介绍一种方法:TF-IDF. 一,TF- ...

  5. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  6. 目前比较流行的Python科学计算发行版

    经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...

  7. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  8. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  9. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

随机推荐

  1. Maven 安装记

    java初学者 昨天通m2e插件把maven项目导入eclipse的时候各种bug,看了各家技术博客,决定安装maven好好了解下. 安装maven也是一波三折的,先是看各种安装指导,结果环境变量都没 ...

  2. Web工程师的工具箱

    RequestBin:允许你创建一个URL,利用这款工具进行收集请求,然后通过个性化方式进行检查. Hurl:发出HTTP请求,输入URL,设置标题,查看响应,最后分享给其他人.类似的工具有:REST ...

  3. 【转】.NET开发者必备的11款免费工具

    摘要:本文介绍一些最适合.NET开发人员简化Web开发的最佳工具,这些工具都是开源的,有的开发工具你既可以从网上下载可执行文件,也可以下载源代码.一些工具拥有可扩展的框架,是一个持续集成工具. 原文链 ...

  4. Delphi-Copy 函数

    函数名称 Copy 所在单元 System 函数原型 1  function Copy ( Source : string; StartChar, Count : Integer ) : string ...

  5. FFT快速傅立叶

    Description 给出两个n位10进制整数x和y,你需要计算x*y. Input 第一行一个正整数n.第二行描述一个位数为n的正整数x.第三行描述一个位数为n的正整数y. Output 输出一行 ...

  6. c语言实现一个链表

    一.基础研究 我们在这里要理解和实现一种最基本的数据结构:链表.首先看看实现的程序代码: List .h: 事实上我们观察list.h发现前面一部分是数据结构的定义和函数的声明,后面一部分是函数的实现 ...

  7. ISO15693标准详细介绍

    1.符合ISO/IEC 15693标准的信号接口部分的性能如下:1.1 工作频率 工作频率为13.56MKz±7KHz1.2 工作场强 工作场的最小值为0.15A/m,最大场为5A/m.1.3 调制 ...

  8. BZOJ1264: [AHOI2006]基因匹配Match

    1264: [AHOI2006]基因匹配Match Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 541  Solved: 347[Submit][S ...

  9. HDU Sky数 2079 简单易懂的代码

    题目 http://acm.hdu.edu.cn/showproblem.php?pid=2097 思路 既然要求和 十进制数字各个位数上的和是相同的, 那么16,12进制转换完之后也是10进制表示的 ...

  10. 【转】linux 原子整数操作详解

    原文网址:http://blog.csdn.net/hunanchenxingyu/article/details/8994379 printk(“%d\n”,atomic_read(&v)) ...