【发布时间】:2021-09-09 09:48:01
【问题描述】:
我对 Python 还是很陌生,如果有人能帮助我解决我面临的这个问题,我将不胜感激。
这是我的代码:
class Player:
def __init__(self, name):
self.name = name
self.info = {}
self.info_count = len(self.info)
tom = Player("tom")
tom.info["Name"] = "tom"
tom.info["Height"] = "167cm"
print(tom.info)
print(tom.info_count)
输出
{'Name': 'tom', 'Height': '167cm'}
0
我正在尝试获取一个实例属性,该属性会自动保存我拥有的信息数量。当我在 info 变量中有 2 个信息时,为什么输出仍然为 0?谢谢!
【问题讨论】:
-
当
info为空时,您将info_count设置为info的长度。那是零。 -
__init__函数设置行内info的长度,您将在其中创建类的新实例。然后你向info添加一些东西,但info_count不会更新。这是 Python 类的基础知识,我认为您应该在发布此问题之前了解更多相关信息。 -
谢谢。现在我明白我错在哪里了。
标签: python python-3.x class instance-variables derived-attribute