Python 附加到列表-实例属性
我想添加一个列表作为Python类实例属性(即,不是类属性),然后添加一个类方法,该方法将向列表中追加项 e、 g.我们有一个员工类,每个员工可能获得过不同的奖励,这些奖励将存储在列表中Python 附加到列表-实例属性,python,Python,我想添加一个列表作为Python类实例属性(即,不是类属性),然后添加一个类方法,该方法将向列表中追加项 e、 g.我们有一个员工类,每个员工可能获得过不同的奖励,这些奖励将存储在列表中 class Employee: def __init__(self, name, salary): self.name = name self.salary = salary employeeAwards = [] def addAward(se
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
employeeAwards = []
def addAward(self, Award):
employeeAwards.append(Award)
但是,如果这样做,我会在实例属性(employeeAwards)上得到一个“未解析引用”错误
我应该在哪里声明类实例属性?您需要将其绑定到
self
:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
self.employeeAwards = []
def addAward(self, Award):
self.employeeAwards.append(Award)
您需要将其绑定到
self
:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
self.employeeAwards = []
def addAward(self, Award):
self.employeeAwards.append(Award)
我想已经指出了正确的解决方案:将它绑定到self
关于类与实例变量的讨论很有趣:绑定到self
的每个变量(或方法)实际上都是实例变量
类变量如下所示:
class Employee(object):
employeeAwards = []
def __init__(self, name, salary):
...
我想已经指出了正确的解决方案:将它绑定到self
关于类与实例变量的讨论很有趣:绑定到self
的每个变量(或方法)实际上都是实例变量
类变量如下所示:
class Employee(object):
employeeAwards = []
def __init__(self, name, salary):
...
你想要一个附加到实例属性的类方法?!还是说实例方法?
self.employeeAwards=[]
然后self.employeeAwards.append(Award)
您想要一个附加到实例属性的类方法吗?!或者您是指实例方法吗?self.employeeAwards=[]
然后是self.employeeAwards.append(Award)
这也是一个有效的答案,但在将列表用作类属性时应小心。请注意,在使用“附加到列表”时,实际上是在更新类属性,而不是实例属性。这也是一个有效的答案,但在将列表用作类属性时应小心。请注意,使用“附加到列表”时,实际上是在更新class属性,而不是instance属性。