浅谈python中频繁的print到底能浪费多长时间
最近在做FLY量化交易系统的维护,总有客户说策略执行好慢,结果有些人展示策略一看,每个语句后边都要打印下数据。
哪些数据都是辅助用的,打印出来能当饭吃么,净浪费时间了
今天简单展示下print到底能消耗多少时间
例子:
import time a=time.time() num=0 while num<10000: num=num+1 print(num) print('有"print"时的耗时:%f' %(time.time()-a)) b=time.time() num=0 while num<10000: num=num+1 print('没有"print"时的耗时:%f' %(time.time()-b))
结果:
...
有"print"时的耗时:85.897000
没有"print"时的耗时:0.002000
同样1W次循环,相差了 85.897/0.002=42948.5倍。
如果是超超超超级复杂的策略,等你打印完数据,好行情早就没有了,把握时机啊~老铁。
以上这篇浅谈python中频繁的print到底能浪费多长时间就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python中使用print输出中文的方法
看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (unicode("学习", encoding="utf-8")) 保存时均还是会提示 shell输出: ѧϰ ѧϰ 说明第二种还是有编码但还是不对. 最后,加上最前面一行就好了,虽然现在还不明白第一行为什么,不是说#是注释么... # encoding: utf-8
-
python中的print()输出
1.普通的输出: print(str)#str是任意一个字符串,数字··· 2.格式化输出: print('1,2,%s,%d'%('asd',4)) 1,2,asd,4 与C语言有点类似 3.其它: >>> pi = 3.141592653 >>> print('%10.3f' % pi) #字段宽10,精度3 3.142 >>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度 pi
-
python 解决print数组/矩阵无法完整输出的问题
当数组/矩阵过大则只会显示其中一部分,中间则会自动用省略号代替: 直接在import numpy 加上下面一句代码即可解决: import numpy as np np.set_printoptions(threshold=np.inf) 这样就可以将比较大的数组全显示出来: 以上这篇python 解决print数组/矩阵无法完整输出的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Python print不能立即打印的解决方式
1.问题描述 在Python中使用print打印hello world时,终端不显示 def hello(): print("hello world!") 2.原因 因为标准输入输出stdin/stdout有缓冲区,所以使用print不能立即打印出来,作为刚接触Python的菜鸟,迷瞪了半天 3.解决方法 1)刷新缓冲区,python中是sys.stdout.flush() import sys def hello(): print("hello world!")
-
浅谈python中频繁的print到底能浪费多长时间
最近在做FLY量化交易系统的维护,总有客户说策略执行好慢,结果有些人展示策略一看,每个语句后边都要打印下数据. 哪些数据都是辅助用的,打印出来能当饭吃么,净浪费时间了 今天简单展示下print到底能消耗多少时间 例子: import time a=time.time() num=0 while num<10000: num=num+1 print(num) print('有"print"时的耗时:%f' %(time.time()-a)) b=time.time() num=0
-
浅谈Python中文件夹和python package包的区别
pycharm右键新建时会有目录(文件夹)和python package两个选项,这两个到底有什么不同呢 1.原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有__init__.py那么它就是这个包的子包了. 当你将一个包作为模块导入(比如从 xml导入 dom)的时候,实际上导入了它的__init__.py 文件. 2.而目录跟包唯一不同的就是没有__init__.py 文件,一个包是一个带有特殊文
-
浅谈Python中对象是如何被调用的
目录 楔子 从 Python 的角度看对象的调用 从解释器的角度看对象的调用 小结 楔子 我们知道对象是如何被创建的,主要有两种方式,一种是通过Python/C API,另一种是通过调用类型对象.对于内置类型的实例对象而言,这两种方式都是支持的,比如列表,我们即可以通过[]创建,也可以通过list(),前者是Python/C API,后者是调用类型对象. 但对于自定义类的实例对象而言,我们只能通过调用类型对象的方式来创建.而一个对象如果可以被调用,那么这个对象就是callable,否则就不是ca
-
浅谈python中copy和deepcopy中的区别
在下是个编程爱好者,最近将魔爪伸向了Python编程.....遇到copy和deepcopy感到很困惑,现在针对这两个方法进行区分,一种是浅复制(copy),一种是深度复制(deepcopy). 首先说一下deepcopy,所谓的深度复制,在这里我理解的是完全复制然后变成一个新的对象,复制的对象和被复制的对象没有任何关系,彼此之间无论怎么改变都相互不影响. 然后说一下copy,在这里我分为两类来说,一种是字典数据类型的copy函数,一种是copy包的copy函数. 一.字典数据类型的copy函数
-
浅谈python中列表、字符串、字典的常用操作
列表操作如此下: a = ["haha","xixi","baba"] 增:a.append[gg] a.insert[1,gg] 在下标为1的地方,新增 gg 删:a.remove(haha) 删除列表中从左往右,第一个匹配到的 haha del a.[0] 删除下标为0 对应的值 a.pop(0) 括号里不写内容,默认删除最后一个,写了,就删除对应下标的内容 改:a.[0] = "gg" 查:a[0] a.index(&q
-
浅谈Python中函数的参数传递
1.普通的参数传递 >>> def add(a,b): return a+b >>> print add(1,2) 3 >>> print add('abc','123') abc123 2.参数个数可选,参数有默认值的传递 >>> def myjoin(string,sep='_'): return sep.join(string) >>> myjoin('Test') 'T_e_s_t' >>>
-
浅谈python中的面向对象和类的基本语法
当我发现要写python的面向对象的时候,我是踌躇满面,坐立不安呀.我一直在想:这个坑应该怎么爬?因为python中关于面向对象的内容很多,如果要讲透,最好是用面向对象的思想重新学一遍前面的内容.这个坑是如此之大,犹豫再三,还是只捡一下重要的内容来讲吧,不足的内容只能靠大家自己去补充了. 惯例声明一下,我使用的版本是 python2.7,版本之间可能存在差异. 好,在开讲之前,我们先思考一个问题,看代码: 为什么我只创建是为 a 赋值,就可以使用一些我没写过的方法? 可能会有小伙伴说:因为 a
-
浅谈python中的getattr函数 hasattr函数
hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: >>> hasattr(list, 'append') True >>> hasattr(list, 'add') False getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其
-
浅谈python中的数字类型与处理工具
python中的数字类型工具 python中为更高级的工作提供很多高级数字编程支持和对象,其中数字类型的完整工具包括: 1.整数与浮点型, 2.复数, 3.固定精度十进制数, 4.有理分数, 5.集合, 6.布尔类型 7.无穷的整数精度 8.各种数字内置函数及模块. 基本数字类型 python中提供了两种基本类型:整数(正整数金额负整数)和浮点数(注:带有小数部分的数字),其中python中我们可以使用多种进制的整数.并且整数可以用有无穷精度. 整数的表现形式以十进制数字字符串写法出现,浮点数带
-
浅谈Python中的可变对象和不可变对象
什么是可变/不可变对象 不可变对象,该对象所指向的内存中的值不能被改变.当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址. 可变对象,该对象所指向的内存中的值可以被改变.变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变. Python中,数值类型(int和float).字符串str.元组tuple都是不可变类型.而列表list.字典dict.集合
随机推荐
- jQuery中extend函数简单用法示例
- shell结合expect写的批量scp脚本工具
- Lua内置的调试器用法详解
- Angular的$http与$location
- vue.js中过滤器的使用教程
- Java多线程编程中synchronized线程同步的教程
- php获取访问者浏览页面的浏览器类型
- JavaScript DOM学习第八章 表单错误提示
- bootstrapValidator.min.js表单验证插件
- jsp利用application统计在线人数的方法
- 查看mysql语句运行时间的2种方法
- jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
- jquery+html仿翻页相册功能
- JavaScript中的编码和解码函数
- Java观察者模式例子
- SpringMVC集成Swagger实例代码
- thinkPHP5 tablib标签库自定义方法详解
- Spring声明式事务和@Aspect的拦截顺序问题的解决
- python实现任意位置文件分割的实例
- JS匿名函数和匿名自执行函数概念与用法分析