【发布时间】:2018-05-13 07:02:59
【问题描述】:
我试图找到这个(看似简单的)问题的答案,但找不到。我试图让 Pycharm 向我展示实例变量的代码完成。类型提示似乎只在同一个函数中起作用。我也尝试在文档字符串中定义类型,但这仍然不起作用。如何让 Pycharm 向我显示实例变量的自动完成建议?
class Girl:
gender = "female"
def __init__(self, name:str):
self.name = name
self.name.capitalize() # <- Pycharm shows me capitalize() as a method of name:str
def capitalize_name(self):
"""
:cvar name:str # <-
:type name:str # <--- These don't
:cvar self.name:str # <--- help either
:type self.name:str # <-
"""
self.name = self.name..... # <- Pycharm does not know the type of self.name
alice = Girl(name="Alice")
alice.capitalize_name()
【问题讨论】:
-
self.name不是类变量 -
@cricket_007 抱歉,我还希望将类变量定义为 None,然后在 init 方法中更新它们并混淆了术语。谢谢
-
问题在于重新分配。如果将
self.name = self.name....替换为print(self.name....),则完成工作。请填写问题here
标签: python-3.x pycharm type-hinting