所以我正在尝试学习打字模块,但我完全陷入了
bound=
部分。
我读过this综合主题好几次了,但由于我是新手,所以我不太了解。
您能解释一下
bound=
的用途以及上限是什么意思吗? (最好是一个简单的例子)
先谢谢你了!
所以文档关于这个主题有点神秘,特别是如果您是初学者。让我们看下面的例子:
class Foo:
pass
class Bar(Foo):
pass
T = TypeVar("T", bound=Foo) # Can be any subtype of Foo
def foo_bar(x: T):
print(x)
foo_bar(Bar()) # valid
此处
bound
参数意味着继承 Foo
的类的任何实例或其任何子类都会验证使用 T
定义的类型标准。