在键入注释字符串、文本或 str 时应该使用什么?使用时有什么区别?
例如:
from typing import Text
def spring(a: Text) -> Text:
return a.upper()
Run Code Online (Sandbox Code Playgroud)
或者
def spring(a: str) -> str:
return a.upper()
Run Code Online (Sandbox Code Playgroud) 我在合并和拆分部分偶然发现了pymotw.com的这段代码。
from itertools import *
def make_iterables_to_chain():
yield [1, 2, 3]
yield ['a', 'b', 'c']
for i in chain.from_iterable(make_iterables_to_chain()):
print(i, end=' ')
print()
Run Code Online (Sandbox Code Playgroud)
我不明白make_iterables_to_chain()的工作方式。它包含两个yield语句,它如何工作?我知道生成器是如何工作的,但是那里只有一个yield语句。
请帮忙!