2017-10-10 81 views
-3

的代碼是類型錯誤:對於不支持+操作數類型(S):「功能」和「廉政」 ...需要支持

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: unsupported operand type(s) for +: 'function' and 'int' Process finished with exit code 1

如何擺脫這個錯誤並利用類變量?

+0

你已經有2個'count':變量和方法名,試着重命名其中的一個。 – SatanDmytro

回答

0

我猜你的變量(計數)不能有相同的名稱,你的方法(計數)

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 

我只是改變了變量名

0

可以使此代碼僅通過重命名此功能而工作:

def count(self): 
     print(Demo.count) 

或任這個變量:

count = 0 

您可以使用_(下劃線)在變量或函數的名稱,以避免衝突。

這是所有關於命名的,所以當您嘗試添加函數時+ 1 Python解釋器引發錯誤。

相關問題