1. 程式人生 > 程式設計 >python定義類self用法例項解析

python定義類self用法例項解析

這篇文章主要介紹了python定義類self用法例項解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

在定義類的過程中,無論是顯式的建立類的構造方法,還是向類中新增例項方法,都要將self引數作為方法的第一個引數。

class Person:
def __init__(self):
print("正在執行構造方法")
def study(self,name):
print(name,"正在學python")
python類方法中的self引數就相當於C++中的this指標。
同一個類可以產生多個物件,當某個物件呼叫類方法時,該物件會把自身的引用作為第一個引數自動傳給該方法,換句話說,python會自動繫結類方法的第一個引數指向呼叫該方法的物件。

如此,python直譯器就能知道到底要操作哪個物件的方法了。

程式在呼叫例項方法和構造方法時,不需要手動為第一個引數傳值。

class Person:
def __init__(self):
print("正在執行構造方法")
def study(self):
print(self,"正在學python")
xiaobai = Person()
xiaobai.study()
mary = Person()
mary.study()
#執行結果
#study()中的self代表該方法的呼叫者,即誰呼叫該方法,那麼self就代表誰。
正在執行構造方法
<__main__.Person object at 0x0000013B6A24BA58> 正在學python

正在執行構造方法
<__main__.Person object at 0x0000013B6A24BC88> 正在學python
對於建構函式中的self引數,其代表的是當前正在初始化的類物件。

class Person:
  name = "xiaobai"
  def __init__(self,name):
    self.name = name
mary = Person("mary")
print(mary.name)
lisa = Person("lisa")
print(lisa.name)
#執行結果
mary
lisa

總之,無論是類中的建構函式還是普通的類方法,實際呼叫它們的是誰,則self就代表誰。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。