【发布时间】:2020-10-18 07:31:39
【问题描述】:
我有一个关于 Python 类和变量的小问题。
为什么'self'关键字'破坏'第一个示例中的计数器变量的工作,而在第二个示例中(在机制方面与第一个非常相似)'self'关键字在结果条款:
# Counter does not work properly (incrementation) if 'self' keyword is provided before the variable named 'counter'.
# Instead of 'self' keyword we shall use class name, to make this work 'ExampleOne.counter += 1'.
class ExampleOne:
counter = 0
def __init__(self, name, surname):
self.name = name
self.surname = surname
self.counter += 1
# It works, meaning list is being updated. Even if 'self' keyword is provided before variable named 'list'.
class ExampleTwo:
list = []
def __init__(self, name, surname):
self.name = name
self.surname = surname
self.list.append([self.name, self.surname])
【问题讨论】:
标签: python-3.x class variables