2017-09-06 48 views
1

的Python簡而言之說:類的方法是否應該至少有一個引用實例的參數?

的方法在類主體中定義有一個強制性的第一 參數,通常命名爲自我,是指在其上調用方法的實例 。

一個類的方法是否應該至少有一個引用實例的參數?

創建一個沒有任何參數的方法是不好的做法嗎?

在類或類的實例上調用方法時總是使方法工作是一種很好的做法嗎?

請注意,我不是在談論靜態方法或類方法,而是一種普通的方法。

>>> class C5(object): 
...  def hello(): 
...   print('Hello') 
... 
>>> C5.hello() 
Hello 
>>> C5().hello() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: hello() takes 0 positional arguments but 1 was given 

謝謝。

+0

用'def hello(self)'替換'def hello()'。有關'self'的更多信息,請參見[這裏](https://stackoverflow.com/a/2709832/3926995) –

回答

2

你應該始終把self作爲第一個參數的類方法。如果你想在不創建類實例的情況下調用類方法,需要編寫以下代碼:

class Foo: 
    @staticmethod 
    def hello(): 
     print("Hi") 
2

的Python要你自己作爲參數傳遞到您的類的方法,使蟒蛇知道該方法屬於類,他們是英寸

相關問題