Python_yield个人理解

学习中遇到了Python的函数 yield , 经过百度和跑代码试验后得出了一点自己浅薄的见解,比较简单,方便理解,若有不足请指出

见解

yield 	负责返回函数的返回值
		调用后不结束函数,返回并记录了值,继续执行函数,直到下一次调用,在上一次返回值的基础上继续执行并返回,
		直到不再调用.

试验代码

# 试验代码
def fab(ma):
    n, b = 0, 1
    while n < ma:
        b += 1
        yield b, n
        b += 1
        yield b
        n += 1


for i in fab(5):
    print(i)
 
# 结果值:
(2, 0)   # 第一次调用, 返回 b+1的值 和 n 的值
3		# 第二次调用, 返回 b(1)+1 后再次 + 1 的值
(4, 1)	# 第三次调用, 返回 b(3)+1的值 和 n(0)+1 的值
5		# 第四次调用, 返回 b (4)+1
(6, 2)	# 第五次调用, 返回 b(5)+1的值 和 n(2)
7		
(8, 3)	
9		 
(10, 4)	
11		

从上面运行的结果可以看出,在调用yield 后函数有返回值, 并且函数并没有结束执行,而是继续执行下去
,b 的值也没有被抛弃,继续累加,直到函数运行结束为止.
函数只打印了一次 i 的值就把所有函数返回过的值打印了出来了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值