在 python 文档__future__中,下面有一个表格,它显示注释在 3.7.0b1 中“可选”和“在”4.0 中“强制”,但我仍然可以在 3.8.2 中使用注释而无需导入注释,那么它的用途是什么。
>>> def add_int(a:int, b:int) -> int:
... return a + b
>>> add_int.__annotations__
{'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}
Run Code Online (Sandbox Code Playgroud)
我怀疑我不清楚这里“可选输入”和“强制输入”的含义
我曾经认为python中的for 循环是这样工作的,它首先通过执行iter(iterable)
then 来创建一个迭代器,然后next(that_new_iterator_object)
当它引发时,StopIteration然后for 循环结束并else阻塞(如果提供),但在这里它的工作方式有所不同
>>> a = [1,2,3,4,5,6,7,8,9]
>>> for i in a:
del a[-1]
print(i)
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
其他数字 6,7,8,9 在哪里 for 循环创建的新迭代器对象和变量 a 不同