生成器二维码,生成器软件
Yyds干货库存
Generator和yield如果函数体包含yield关键字,那么调用函数不会执行函数体代码,返回值是generator对象。
定义函数():
打印(“从函数”)
产量111
打印(“从函数”)
产量222
打印(“从函数”)
产量333
res=func()
打印(res.__next__())
打印(res.__next__())
print(res.__next__())生成器内置了__iter__和__next__方法,所以生成器本身就是一个迭代器。
三元表达式,列表生成,生成器表达式三元表达式三元表达式是python提供的简化代码的解决方案。语法如下
Res=条件为真时返回的值。如果条件else不为真,则返回值用于以下场景
def max2(x,y):
如果x y:
返回x
否则:
回车y
Res=max2(1,2)可以用三元表达式在一行中求解。
x=1
y=2
Res=x if x y else y #三元表达式的列表生成列表生成是python提供的一个代码简化的解决方案,用于快速生成列表。语法如下
对于以下情况
egg_list=[]
对于范围(10)内的I:
Egg_list.append (egg %s %i )可以用列表产生公式在一行中求解。
egg _ list=[ egg % s % I for I in range(10)]
生成器表达式创建生成器对象有两种方法,一种是用yield关键字调用函数,另一种是生成器表达式,与列表生成的语法格式相同,只需要将[]替换为(),即:
(iterable if条件中item的表达式)如果我们想读取一个大文件的字节数,应该基于生成器表达式来完成。
用open(db.txt , rb )作为f:
nums=(len(line) for line in f)
Total_size=sum(nums) #依次执行next(nums),然后相加得到结果=
转载请联系作者获得授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。