1.首先看python如何定義類:
class athlete:
def __init__(self):
# the code to initialize a "person" object.
2.self的重要性:
定義乙個類時,實際上是在定義乙個定製工廠函式,然後可以在**中使用這個工廠函式建立例項:
a = person()
python在處理這行**時,把工廠函式的呼叫轉換為以下呼叫,明確了類、方法(自動設定為__init__())和所處理的物件例項:
person().__init__(a)
這裡可以發現,目標識別符號賦值至self引數。如果沒有這個賦值,python直譯器無法得出方法呼叫要應用到哪個物件例項。
注意:類**設計為在所有物件例項間共享:方法是共享的,而屬性不共享。self引數可以幫助標識要處理哪個物件例項的資料。
3.實際上不僅__init__方法需要self作為它的第乙個引數,類中定義的所有其他方法也是如此。python要求每個方法的第乙個引數為呼叫物件例項。
聊聊python類中的self
在學習python類的時候會發現幾乎無一例外的會傳入引數self,self到底是什麼呢?其實 如下 class test def prt self print self print self.class t test t.prt 結果為 main test object at 0x104b6d410...
python類的方法中的self
class person def init myname,name myname.name name defsayhello myname print my name is myname.name p person bill print pself指的是類例項物件本身 注意 不是類本身 class ...
python的self之個人理解
本文參考 python中的self一般用於類的方法中,當然乙個獨立的函式也可以加上self引數,但是如果沒有需要豈不是在給自己找麻煩,因為呼叫的時候還要傳進去乙個空引數 我以前都是這樣做的,慚愧 self在定義類的方法時是必須有的,雖然在呼叫時不必傳入相應的引數。當然self也可以換成其他的自己喜歡...