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. 解决SQL Server Management Studio Express不支持更新全文目录的方法

    微软的说法:https://msdn.microsoft.com/zh-cn/library/ms365247.aspx 可以用命令创建: A.创建唯一索引.全文目录和全文索引 以下示例对 Adven ...

  2. 正则如何匹配div下的所有<li>标签?

    <?php header('Content-Type:text/html;charset=utf-8'); $str = '<div class="c1s"> & ...

  3. 浅谈intval()函数用法

    <? } } 总结:intval()函数功能1.参数一定是数字否则会报错,2.如果是数字那一定是整数,如果有小点,那会省略掉,3,强调参数可以有“-”值.4.参数第一位不应为0开头,不然会自动转 ...

  4. Azure IoT

    微软Azure IoT   国外物联网平台初探(二)——微软Azure IoT 马智 平台定位 连接设备.其它 M2M 资产和人员,以便在业务和操作中更好地利用数据. 连接 IoT 设备 将所有设备连 ...

  5. java的占位符

    java占位符的类型: 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.fo ...

  6. cypress的EZ-USB对于USB的介绍

    Host is MasterThis is a fundamental USB concept. There is exactly onemaster in a USB system: the hos ...

  7. Ansible二三事

    现在,慢慢测试一下ANSIBLE的功能,不过,总体感觉是,比SALTSTACK运行要慢,好像还有点点不稳定.... 但,在局域环境的表现,还是不错的... ~~~~~~~~~~~~~ 有几个小事要注意 ...

  8. 移動電源ic的概述

    移動電源ic壹種集供電和充電功能於壹體的便攜式充電器,可以給手機等數碼設備隨時隨地充電或待機供電.壹般由鋰電芯或者幹電池作為儲電單元.區別於產品內部配置的電池,也叫外掛電池.壹般配備多種電源轉接頭, ...

  9. VS2013下的Nmake编译链接成win XP的可执行程序

    nmake下没有指定toolset=vc120_xp等类似物.但是,可以指定Link.exe的链接参数,指定子系统就可以了,/SUBSYSTEM:[WINDOWS | CONSOLE],5.01 5. ...

  10. 打patch p0 p1区别

    如何使用patch 对于一个patch文件,有两种常用使用方法: 1.代码:cat new-patch | patch -p0 2.代码:patch -p0 < new-patch   patc ...