python惰性求值有哪些函数Copyright ? 1999-2020, CSDN.NET, All Rights Reserved
惰性计算的序列
打开APP
【pythonor函数 pythonord函数】Python 的惰性求值与惰性序列 翻译
2018-07-23 14:57:48
2点赞
东师小镇
码龄5年
关注
惰性求值
在编程语言理论中pythonor函数,惰性求值(英语pythonor函数:Lazy Evaluation)pythonor函数 , 又译为惰性计算、懒惰求值,也称为传需求调用(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是一个惰性序列,意思是表达式和变量绑定后不会立即进行求值,而是当pythonor函数你用到其中某些元素的时候才去求某元素对的值 。惰性是指,pythonor函数你不主动去遍历它,就不会计算其中元素的值 。
一句话理解:
迭代器的一个优点就是它不要求你事先准备好整个迭代过程中所有的元素 。
迭代器仅仅在迭代至某个元素时才计算该元素 , 而在这之前或之后,元素可以不存在或者被销毁 。
这个特点使得它特别适合用于遍历一些巨大的或是无限的集合,比如几个G的文件 , 或是斐波那契数列等等 。
Python里or的用法看下面这代码
x = 1
a = 1
b = False
x == a or b
True
x = False
x == a or x == b
True
可以理解了吧
(X == a ) or b
(X == a) or (X == b)
Python中or的用法因为第一种是b不为零永远都为真的,非零则为真:x==a或者b不为零,其中一个条件满足就为真了,
第二种则需要x==a或者x==b才为真 。
关于pythonor函数和pythonord函数的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 升级鸿蒙还能用安卓吗,升级鸿蒙还能回安卓吗
- oracle数据库10g和11g,oracle数据库多大内存
- 阿里虚拟主机不能访问,阿里虚拟主机不能访问网页
- 服务器施工方案,服务器安装实施方案
- php免数据库登录验证 php验证数据库中的账号密码
- 电视硬件怎么挑选,怎样选择电视机的质量好坏
- mes系统获取erp数据库,mes对接erp的目的
- 视频号怎么解封直播间号,视频号直播被终止要多久恢复
- java比较大小源代码 比较大小 java