我确信我在这里漏掉了一些显而易见的东西,但为什么下面的脚本实际上可以运行?
import enum
import typing
class States(enum.Enum):
a = 1
b = 2
states = typing.NewType('states', States)
def f(x: states) -> states:
return x
print(
f(States.b),
f(3)
)
据我理解,这段代码应该在调用
f(3)
时出错,但实际上没有。有人能解释一下这种行为吗?