python生成器
程序员文章站
2022-07-09 20:52:20
生成器generator1.生成器generator只有在调用的时候才会产生数据2.只记录当前的位置3.只有__next__()方法list_file = (i * 2 for i in range(10))print(list_file) # __next__:下一个print(list_file ......
生成器generator
1.生成器generator只有在调用的时候才会产生数据
2.只记录当前的位置
3.只有__next__()方法
list_file = (i * 2 for i in range(10))
print(list_file)
# __next__:下一个
print(list_file.__next__())
print(list_file.__next__())
可以被next()函数调用并不断返回下一个值的对象称为迭代器
# 生成器主要是生成列表的时候节省内存
list_file = (i * 2 for i in range(10))
print(list_file)
# __next__:下一个
print(list_file.__next__())
print(list_file.__next__())
from collections import iterable
ls = []
print(isinstance(ls, iterable))
print(dir(ls))
# 斐波那契数列
def fib(max):
n, a, b = 0, 0, 1
nums = list()
while n < max:
yield b
a, b = b, a + b
n = n + 1
nums.append(a)
return 'none'
nums = fib(10)
for num in nums:
print(num)