1週間前にPythonのジェネレーターについて学びました。私が理解したところによると、「yield」は、たとえば配列全体をそのままではなく、ジェネレータオブジェクトを返します。
整数の桁を取得するために私が書いたコードは次のとおりです。
def getDigits(m):
for d in str(m):
yield int(m)
これにより、ジェネレータオブジェクトとして渡された整数の桁が返されます。しかし、私がそうするとき:
for i in getDigits(123):
print i
次のように出力を取得します。
123
123
123
それ以外の:
1
2
3
何が起こっている?私は何か間違ったことをしていますか?