繁体   English   中英

追加到列表-实例属性

[英]append to list - instance attribute

我想将列表添加为Python类实例属性(即不是类属性),然后添加一个将项目追加到列表的类方法。

例如,我们有一个Employee类,每个雇员可能获得了不同的奖励,这些奖励将存储在列表中。

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)

我认为septi已经指出了正确的解决方案:将其绑定到self

是有关实例变量的有趣讨论:实际上,您绑定到self每个变量(或方法)都是实例变量

类变量如下所示:

class Employee(object):
    employeeAwards = []

    def __init__(self, name, salary):
        ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM