本文實例講述了python中self原理。分享給大家供大家參考。具體分析如下:
類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱,但是在調用這個方法的時候你不為這個參數賦值,Python會提供這個值。這個特別的變量指對象本身,按照慣例它的名稱是self。
假如你有一個類稱為MyClass和這個類的一個實例MyObject。當你調用這個對象的方法 MyObject.method(arg1, arg2) 的時候,這會由Python自動轉為 MyClass.method(MyObject, arg1, arg2)——這就是self的原理了。
這也意味著如果你有一個不需要參數的方法,你還是得給這個方法定義一個self參數。
示例程序:
?
1 2 3 4 5 6 7 8 9 >>> class P: ... def selfDemo(self): ... print 'Python, why self?' ... ... >>> p = P() >>> p.selfDemo() Python, why self? >>>將selfDemo()中參數換為其他,如selfDemo(x),輸出同樣結果。
若不加參數,則報錯:
?
1 2 3 4 5 6 7 8 9 10 11 >>> class P: ... def selfDemo(): # have no arguments ... print 'Python, why self?' ... ... >>> p = P() >>> p.selfDemo() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: selfDemo() takes no arguments (1 given) >>>希望本文所述對大家的Python程序設計有所幫助。
注< >:更多精彩教程請關注三聯編程