Skip to main content
 首页 » 编程设计

python 生成器/变量

2025年05月04日17birdshome

<分区>

2 个问题...

1) 我正在努力思考这个问题...... 我明白变量可以使用这样的代码语法取值:

a ,b = 2, 3 

这与编码相同:

a = 2 
b = 3 

我希望这是正确的。

所以这是我的困惑。我有以下使用生成器的代码:

def fibonacci_generator() : 
 
    a = b = 1 
 
    while True : 
 
           yield a 
 
           a , b = b , a + b 
 
 
fib = fibonacci_generator() 
 
for i in fib : 
 
       if i > 100 : 
 
        break 
 
       else :  
 
        print ('Generated: ', i) 
 
print (next(fib)) 

(是的,这是一本python学习书中的代码)

如果我要重写这段代码,而是像这样分配我的 a 和 b 变量:

yield a 
 
a = b 
 
b = a + b 

然后我得到 a 的不同返回。 我不明白这是为什么???对此非常沮丧!

2) 当我运行上面第一次编写的代码时,我在最后打印出数字 233。我也想不通为什么??!!