a1.listAdd会抛出错误

时间:2014-08-23 09:43:39

标签: python

class Adder:
    count=0

    def __init__(self):
        self.x=" "
        self.y=" "
        Adder.count+=1

    def listAdd(self):
        self.l1=[]
        self.l2=[]
        print(self.l1 + self.l2)

    def dictAdd(self):
        self.dict1={}
        self.dict2={}
        print(self.dict1 + self.dict2)

a1=Adder()
print("instance created",Adder.count)
print("enter the list1:",'\n')
a1.listAdd()
a1.dictAdd()
Adder.count-=1
del a1
print("instance deleted",Adder.count)

这是我自己尝试的代码,我需要添加两个列表和两个字典,并在创建或删除时打印实例变量的数量。 当我运行这个程序时,它说“Adder对象没有属性listAdd”。 任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

代码中唯一的错误是

'TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
'

如果您尝试合并两个词典,则必须使用dictA.update(dictB),但不能使用' +'。

试试这个:

class Adder:
    count=0

    def __init__(self):
        self.x=" "
        self.y=" "
        Adder.count+=1

    def listAdd(self):
        self.l1=[]
        self.l2=[]
        print(self.l1 + self.l2)

    def dictAdd(self):
        self.dict1={}
        self.dict2={}
        print(self.dict1.update(self.dict2))

a1=Adder()
print("instance created",Adder.count)
print("enter the list1:",'\n')
a1.listAdd()
a1.dictAdd()
Adder.count-=1
del a1
print("instance deleted",Adder.count)

如果这有助于您,请将其确认为答案,以便其他人可以快速找到答案。