Python中的sleep函数可以传小数进去,就可以进行毫秒级的延时了,代码如下:
创新互联建站-专业网站定制、快速模板网站建设、高性价比灌阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式灌阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖灌阳地区。费用合理售后完善,10余年实体公司更值得信赖。
# 例1:循环输出休眠1秒
import time
i = 1
while i = 3:
print i # 输出i
i += 1
time.sleep(1) # 休眠1秒
# 例2:循环输出休眠100毫秒
import time
i = 1
while i = 3:
print i # 输出i
i += 1
time.sleep(0.1) # 休眠0.1秒
用定时器做,1秒钟唤醒一次响应函数,不要用延时函数 sleep
# 定义时间显示
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.act_displayTM) #绑定响应函数
self.timer.setInterval(1000) #设置时间间隔
self.timer.start()
# 定时响应事件对应逻辑
def act_displayTM(self):
s_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
self.ui.label_Date.setText(s_time)
return
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
惰性计算的序列
打开APP
Python 的惰性求值与惰性序列 翻译
2018-07-23 14:57:48
2点赞
东师小镇
码龄5年
关注
惰性求值
在编程语言理论中,惰性求值(英语:Lazy Evaluation),又译为惰性计算、懒惰求值,也称为传需求调用(call-by-need),是一个计算机编程中的一个概念,它的目的是要最小化计算机要做的工作。它有两个相关而又有区别的含意,可以表示为“延迟求值”和“最小化求值”。
避免不必要的计算,带来性能的提升(最小化求值)。
对于Python中的条件表达式 if x and y,在x为false的情况下y表达式的值将不再计算。而对于if x or y,当x的值为true的时候将直接返回,不再计算y的值。因此编程中可以利用该特性,在 and逻辑中,将小概率发生的条件放在前面或者在or逻辑中,将大概率发生的时间放在前面,有助于性能的提升。
2. 节省空间,使得无线循环的数据结构成为可能(延迟求值)。
延迟求值特别用于函数式编程语言中。在使用延迟求值的时候,表达式不在它被绑定到变量之后就立即求值,而是在该值被取用的时候求值。延迟求值的一个好处是能够建立可计算的无限列表而没有妨碍计算的无限循环或大小问题。例如,可以建立生成无限斐波那契数列表的函数(经常叫做“流”)。第n个斐波那契数的计算仅是从这个无限列表上提取出这个元素,它只要求计算这个列表的前n个成员。
惰性序列
Python的惰性序列多数指 iterator,其特点正如同上文所述,具有惰性计算特点的序列称为惰性序列。
Python的iterator是一个惰性序列,意思是表达式和变量绑定后不会立即进行求值,而是当你用到其中某些元素的时候才去求某元素对的值。 惰性是指,你不主动去遍历它,就不会计算其中元素的值。
一句话理解:
迭代器的一个优点就是它不要求你事先准备好整个迭代过程中所有的元素。
迭代器仅仅在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。
这个特点使得它特别适合用于遍历一些巨大的或是无限的集合,比如几个G的文件,或是斐波那契数列等等。