我正在查看PEP 484,但找不到如何对类引用进行类型提示的描述。类引用是否声明为如下所示的可调用类型呢?
from typing import Callable
class SomeClass:
def __init__(self):
self.s = 'Hello'
def display(self):
print(self.s)
x: Callable[[], SomeClass] = SomeClass
instance = x()
instance.display()
TypeVar(...)
并不是一个有效的类型,更像是一个“类型构造函数”,用于创建类型变量(这是一个有效的类型!)。因此,您应该使用T = TypeVar('T')
或T = TypeVar('T', bound=SomeClass)
然后将T
用作类型提示 - 但仅在泛型相对于T
的函数或类中使用。因此,诸如x: Type[T] = SomeClass
这样的东西实际上并不太有用:T
需要始终绑定到确切的SomeClass
,那么在这种情况下,您可能不需要费心使用泛型。 - Michael0x2a