Python:yieldとyield fromの理解
1335 ワード
yieldって何?
yield単語の意味:降伏、降伏、提供
1つの関数にとって、プログラムの実行は、上から下まで1回実行され、この関数もその使命を果たします.
yield単語の意味:降伏、降伏、提供
1つの関数にとって、プログラムの実行は、上から下まで1回実行され、この関数もその使命を果たします.
def hello():
print('exe 1')
print('exe 2')
hello() , hello() 。
yield , , :generator。
, yield , ` `, , , next , 。
>```
def helloYield():
print('exe 1')
yield '1 be exed'
print('exe 2')
yield '2 be exed'
:
gen=helloYield()
print(gen.__next__())
print(gen.__next__())
:
exe 1
1 be exed
exe 2
2 be exed
yield from ?
yield
yield from
:
list, :
lists = [
1, 2, 3,
[4, 5, [6, 7], 8],
[[[9, 10], 11]],
[[]],
12,
]
list , :
1
2
3
4
5
6
7
8
9
10
11
12
yield from , :
def flatten(items):
for item in items:
if isinstance(item, (list, tuple)):
yield from flatten(item)
else:
yield item