2 Star 3 Fork 3

celaraze / learning-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
12.生成器.py 718 Bytes
一键复制 编辑 原始数据 按行查看 历史
绯末 提交于 2019-12-27 16:42 . 增加生成器
# 生成器是python用于一边生成列表一边用于计算的机制
# 节省资源开销
# 把列表生成式的[]改为()就是一个生成器
l = [x*x for x in range(1, 12)]
print(l)
g = (x*x for x in range(1, 12))
print(g)
# 打印生成器内的元素
print(next(g))
# 使用for循环打印全部生成器内的元素
for n in g:
print(n)
# 斐波那契数列
# 无法用生成式写出,但是可以用函数
def fib(number):
n, a, b = 0, 0, 1
while n < number:
print(b)
a, b = b, a+b
n = n+1
fib(6)
# 函数改为生成器
def fibG(number):
n, a, b = 0, 0, 1
while n < number:
yield b
a, b = b, a+b
n = n+1
g = fibG(6)
print(g)
Python
1
https://gitee.com/celaraze/learning-python.git
git@gitee.com:celaraze/learning-python.git
celaraze
learning-python
learning-python
master

搜索帮助