­

python類中為什麼要self?

  • 2020 年 1 月 11 日
  • 筆記

在python中創建類時必須有一個self參數,

eg: >>> class miss: …  

            def mi(self):

…             print "i like python"

… 

>>>love=miss()

>>>love.mi()

i like python

但是如果加入沒有self這一個參數會怎麼樣?

>>> class miss:

…     def mi():

…             print "i like python"

… 

>>>love=miss()

>>>love.mi()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module> TypeError: mi() takes no arguments (1 given)

Python的類的方法的這個特別的參數指代的是對象本身,而按照Python的慣例,它用self來表示 創建了對象love,在調用的過程中實際調用的是love.mi(self)。

  這個我自己的見解,也不知道是否正確,望指導