python - 类引用的类型提示是什么?

标签 python python-3.x python-typing

我正在查看 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/

相关文章:

python - 获取数组平均值的更多 pythonian 方法

python - django 应用程序中报告实验室安装错误

python - mypy:对没有运行时成本的类型提出更高的要求

python - 如何动态定义 `typing.Union`?

Python 版本依赖类型注解

python - 在Python中反转二维数组

python - 将 1 层图像转换为 3 层图像

python pysftp [Errno 13] 权限被拒绝 :

Python3编码问题

python - 在 driver.execute_script() 中使用伪选择器时无法将某些元素滚动到 View 中