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

Vla*_*lad 8 python typing

所以我正在尝试学习打字模块,但我完全陷入bound=困境。我已经读过这个综合主题好几次了,但由于我是新手,所以我不太了解。

您能解释一下bound=上限是什么意思吗?(最好是一个简单的例子)

预先谢谢您!

May*_*y.D 14

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

class Foo:
    pass


class Bar(Foo):
    pass


T = TypeVar("T", bound=Foo)


def foo_bar(x: T):
    print(x)


foo_bar(Bar()) # valid
Run Code Online (Sandbox Code Playgroud)

这里的bound参数意味着 ineriths 的类的任何实例Foo或其任何子类都会验证用 定义的类型标准T