gar*_*des 5 python oop types pycharm python-3.x
我的问题与新的Python类型提示有关.我正在尝试在对象的方法中添加一个类型提示,该方法具有相同类型的对象的参数,但PyCharm将我标记为error(unresolved reference 'Foo').问题如下:
class Foo:
def foo_method(self, other_foo: Foo):
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
所以问题是如何other_foo正确定义参数类型.也许__class__是对的?
在类的内部,类尚未定义,导致NameError(和PyCharm抱怨).
要解决此问题,请使用前向声明:
class Foo:
def foo_method(self, other_foo: "Foo"):
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
基本上,如果类型注释是一个字符串,则eval在加载整个模块后编辑它,因此它可以计算到Foo该类.
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |