2017-09-27 63 views
-1
class MyClass: 
    def say(): 
     print("hello") 

mc = MyClass() 
mc.say() 

我收到錯誤:TypeError: say() takes no arguments (1 given)。我做錯了什麼?類無需參數(給出1)

+0

我可以繼續添加重複項,但是您應該已經在Google心跳中找到這些鏈接。 –

回答

7

這是因爲類中的方法期望第一個參數是self。這self參數由蟒蛇內部傳遞,因爲它調用一個方法時,總是發送到自身的引用,即使它的方法

class MyClass: 
    def say(self): 
     print("hello") 

mc = MyClass() 
mc.say() 
>> hello 

或者內未使用,可以使方法靜態和刪除self參數

class MyClass: 
    @staticmethod 
    def say(): 
     print("hello") 

mc = MyClass() 
mc.say() 
>> hello 
相關問題