重複の可能性:
Pythonのyieldキーワードの説明
誰かがここのコードのこのビットでyieldステートメントが実際に何をするかを私に説明できますか?
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a+b
の数fibonacci()
:#ジェネレータをイテレータとして使用します。印刷番号
私がこれまでに理解していることは、finonacci()
パラメーターなしで関数を定義しているということです。定義a
している関数の内部で、 b
0と1に等しくなります。次に、これが当てはまる間、を生成しa
ます。これは実際に何をしているのですか?さらに、降伏しながらa
?a
はに等しくなりb
、b
はに等しくなりa + b
ます。
次の質問、の数について、fibonacci()
これは関数のすべての数を意味しますか、それとも何を意味しますか?私は、yieldと'fornumber'が実際に何をしているのかについても同様に困惑しています。明らかに、私はそれがfibonacci()
印刷番号のすべての番号を意味することを知っています。私は実際にそれを知らずに数を定義していますか?
ありがとう、はっきりしない場合は申し訳ありません。ところで、それはプロジェクトオイラーのためのものです。うまくプログラムする方法を知っていれば、これは簡単ですが、私はその場でこれを学ぼうとしています。