typing.TypeVar 中参数“bound”是什么意思?

问题描述 投票:0回答:1

所以我正在尝试学习打字模块,但我完全陷入了

bound=
部分。 我读过this综合主题好几次了,但由于我是新手,所以我不太了解。

您能解释一下

bound=
的用途以及上限是什么意思吗? (最好是一个简单的例子)

先谢谢你了!

python typing
1个回答
14
投票

所以文档关于这个主题有点神秘,特别是如果您是初学者。让我们看下面的例子:

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
定义的类型标准。

© www.soinside.com 2019 - 2024. All rights reserved.