Python TypeError:不支持+:“function”和“int”的操作数类型…需要支持

Python TypeError:不支持+:“function”和“int”的操作数类型…需要支持,python,Python,代码是 class Demo(): count = 0 def __init__(self,name, no): Demo.count = Demo.count + 1 self.name = name self.no = no def display(self): print(self.name) print(self.no) def count(self): pri

代码是

class Demo():
    count = 0
    def __init__(self,name, no):
        Demo.count = Demo.count + 1
        self.name = name
        self.no = no
    def display(self):
        print(self.name)
        print(self.no)
    def count(self):
        print(Demo.count)

D = Demo('Mohan',20)
D.display()
D.count()
当我运行此代码时,我收到以下错误消息

TypeError:不支持+:“function”和“int”的操作数类型 进程已完成,退出代码为1


如何消除此错误并使用类变量?

我猜变量计数不能与方法计数同名

class Demo():
    number = 0
    def __init__(self,name, no):
        Demo.number = Demo.number + 1
        self.name = name
        self.no = no
    def display(self):
        print (self.name)
        print(self.no)
    def count(self):
        print(Demo.number)
D = Demo('Mohan',20)
D.display()
D.count()
返回

Mohan
20
1

我刚刚更改了变量名

您只需重命名此函数即可使此代码正常工作:

def count(self):
      print(Demo.count)
或者该变量:

count = 0
可以在变量或函数名中使用uu下划线以避免冲突

这都是关于命名的,所以当您尝试添加函数+1 Python解释器时会出现错误。

您已经有两个计数:变量名和方法名,请尝试重命名其中一个。