我正在查看 PEP 484并且无法找到有关如何键入提示类引用的说明。类引用是否如下所示声明为 Callable?
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()
最佳答案
如果您只关心x
是一个 类,您只需使用type
(或其他一些合适的元类)。
x: type = SomeClass
如果 x
应该是 SomeClass
或其后代之一,请使用 typing.Type
x: typing.Type[SomeClass] = SomeClass
如果 x
必须完全 SomeClass
(无论出于何种原因),我认为 typing.TypeVar
是适当的选择。
x: typing.TypeVar('SomeClass', SomeClass) = SomeClass
关于python - 类引用的类型提示是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57148740/