首页 > 解决方案 > Python中的静态类型检查:自我使用什么?

问题描述

我正在尝试在 Python 中使用类型检查,但在引用self.

class MyClass:
  def my_func(self: TYPE?) -> str:
    return 'Hello world!' 

我猜它应该是 MyClass 类型,但我不确定。

标签: pythonpython-3.xpython-typing

解决方案


您可以将类型放在引号中以自我引用(即通过字符串引用类)。

class MyClass:
    def my_func(self: 'MyClass') -> str:
        return 'Hello world!'

但是,在这种情况下没有必要使用类型注释,因为self参数是隐式传递的,因此是已知的。


推荐阅读