PyCharm F-字符串使用(未解决属性引用 '__name' 类...)
(代码短版)PyCharm F-字符串使用(未解决属性引用 '__name' 类...)
class Animal: __name = ""
__gender = "unknown"
__height = 0
__weight = 0
__hungry = False
def __init__(self, name, gender, height, weight):
self.__name, self.__gender, self.__height, self.__weight = name, gender, height, weight
def toString(self):
return f'{self.__name} is a {self.__gender}, {self.__height} m tall and weights {self.__weight} kg.'
PyCharm警告我:未解决的属性引用 '__name'对于类“动物”
该代码仍按预期工作。 为什么会弹出此警告?
f-strings对我来说似乎是str.format的更清晰版本,they are also faster。 PS。由于我是新手到Python,请随时带出所有的时尚错误或什么可以和应该做的更好:)
Python版本:3.6.4 PyCharm社区版本:2017年3月1日
Picture of the code and the error
回答:
从大约一年前有this post也this。这似乎可能是PyCharm的一个问题。
但是,如果您删除f
字符串中的双下划线,则linter不会再抱怨。
使用dunder前缀属性调用''.format()
似乎也不会产生错误或警告。
正如@kindall上面所述,prefixing with the double underscore调用名称修改。
class Animal: __X = 'y'
def __init__(self, name="", gender="", height=0, weight=0, hungry=False):
self.name = name
self.gender = gender
self.height = height
self.weight = weight
self.hungry = hungry
def to_string(self):
return f'{self.name} is a {self.gender}, {self.height} m tall and weights {self.weight} kg.'
def to_string_format(self):
return '{}'.format(self.__X)
另外they似乎知道有关此问题的错误。我会提起它;这对他们获得更多信息会有好处。
以上是 PyCharm F-字符串使用(未解决属性引用 '__name' 类...) 的全部内容, 来源链接: utcz.com/qa/266543.html