生成器特点
- 惰性机制
- 节省内存
- 只能向前
def fun():
print('123')
yield 1
print('321')
print(fun()) #<generator object fun at 0x00000180D8332228>
get = fun() #<generator object other at 0x000001D4054F0660>
print(get.__next__())
在函数中有yield就是生成器函数
yield:相当于return 可以返回数据 但是yield不会被彻底中断函数, 分段执行函数
函数中如果遇到yield 这个函数就是生成器函数 这个时候不执行函数
get.next() 执行函数 执行到下一个yield
get.next() 继续执行函数到下一个yield
生成器案例
def other():
for i in range(1000):
yield "衣服" + str(i)
g = other()
print(g)
qiaoning = g.__next__()
print(qiaoning) # 衣服0
wangtao = g.__next__()
print(wangtao) #衣服1
格式化输出, 新特性
name = 'qiaoning'
age = 18
msg = f'我是{name},今年{age}'
print(msg)
%s format
name = 'qiaoning'
age = 18
msg = '我是: %s 今年%s' %(name,age)
msg1 = '我是{},今年{}' .format(name,age)
print(msg)
print(msg1)
网友评论