Python 3.x 支持(可选)函数注解:
def add_ints(x:int, y:int) -> int :
return x+y
我有时会遇到如何表示给定“类型”的问题,而这一次,我有一个返回生成器的函数:
def myfunc(x: [int]) -> "generator that returns ints":
# ^~~~~~~~~~~~~~~~~~~~~~~~~~
return (n for n in x if n%2 == 0)
返回值应该怎么注解?有什么引用可以引用吗?
最佳答案
虽然 Generator[x, y, z]
存在,但大多数时候,您可能希望使用更简洁的 Iterator
:
def fn(x: int) -> Iterator[int]:
return (n for n in range(x) if n%2 == 0)
也适用于 yield
def fn(x: int) -> Iterator[int]:
for n in range(x):
yield n
关于python - 如何在 python3 中注释生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27264250/