python的物件導向-執行個體(對象)的相關知識、執行個體化

來源:互聯網
上載者:User

標籤:資料   個數   uid   self   nes   ict   就是   方式   IV   

1、對象就是執行個體,什麼是執行個體

類啟動並執行過程就是執行個體化的過程,執行個體化產生的結果就是產生了一個執行個體

class的牛逼之處就是不用手動的return,他會載入完函數之後,自動return  __init__這個函數裡面的字典,字典當中封裝了資料屬性

函數屬性就是屬於類的

2、執行個體化

只要用類名加()的方式運行,(在類中這個運行叫執行個體化)首先會運行__init__這個函數

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):        print("我是初始化函數,我開始運行了")        self.mingzi=name        self.nainji=age        self.xignbie=gender#這樣寫完之後會自動return        print("我結束啦")    def suiditutan():#定義了一個函數屬性        print("朝著牆上就是一口黃痰")    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self)p1=Chinese("北爺",33,"female")C:\python35\python3.exe D:/pyproject/day24/對象相關知識.py我是初始化函數,我開始運行了我結束啦

執行個體化的過程就是運行__init__這個函數,從而產生一個字典,這個字典就是執行個體(對象)

字典當中封裝的是資料屬性

查看下p1這個執行個體的內容

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):        print("我是初始化函數,我開始運行了")        self.mingzi=name        self.nainji=age        self.xignbie=gender#這樣寫完之後會自動return        print("我結束啦")    def suiditutan():#定義了一個函數屬性        print("朝著牆上就是一口黃痰")    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self)p1=Chinese("北爺",33,"female")print(p1.__dict__)C:\python35\python3.exe D:/pyproject/day24/對象相關知識.py我是初始化函數,我開始運行了我結束啦{‘nainji‘: 33, ‘xignbie‘: ‘female‘, ‘mingzi‘: ‘北爺‘} 

注意:__init__裡面不要有return   加了就會報錯,class會自動幫你return

3、執行個體屬性可以訪問到類屬性

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):#self就是p1本身        print("我是初始化函數,我開始運行了")        self.mingzi=name#p1.mingzi=name        self.nianji=age#p1.nainji=age        self.xingbie=gender#這樣寫完之後會自動return        print("我結束啦")    def suiditutan():#定義了一個函數屬性        print("朝著牆上就是一口黃痰")    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self)p1=Chinese("北爺",33,"female")print(p1.__dict__)#字典裡面只有資料屬性print(p1.__dict__["nianji"])#用字典的方式取字典裡面的valueprint(p1.__dict__["mingzi"])print(p1.nianji)#執行個體調用nianjiprint(p1.mingzi)#這是執行個體的資料屬性# print(p1.mingzi222)#會報錯,執行個體調用方法的時候會從__dict__裡面找,找不到就報錯了print(p1.dang)#用執行個體去調用類的資料屬性,雖然__dict__裡面沒有,但是上一級有C:\python35\python3.exe D:/pyproject/day24/對象相關知識.py我是初始化函數,我開始運行了我結束啦{‘nianji‘: 33, ‘xingbie‘: ‘female‘, ‘mingzi‘: ‘北爺‘}33北爺33北爺當

執行個體在調用屬性的時候,先找執行個體的屬性字典裡面,如果沒有的話,就去類的屬性字典裡面找,類裡面在沒有的話就報錯了

4、類調用方法直接用類名加()

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):#self就是p1本身        print("我是初始化函數,我開始運行了")        self.mingzi=name#p1.mingzi=name        self.nianji=age#p1.nainji=age        self.xingbie=gender#這樣寫完之後會自動return        print("我結束啦")    def suiditutan():#定義了一個函數屬性        print("朝著牆上就是一口黃痰")    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self.mingzi)p1=Chinese("北爺",33,"female")Chinese.suiditutan()Chinese.chadui(p1)C:\python35\python3.exe D:/pyproject/day24/對象相關知識.py我是初始化函數,我開始運行了我結束啦朝著牆上就是一口黃痰北爺 插到了前面

5、用執行個體調用方法

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):#self就是p1本身        print("我是初始化函數,我開始運行了")        self.mingzi=name#p1.mingzi=name        self.nianji=age#p1.nainji=age        self.xingbie=gender#這樣寫完之後會自動return        print("我結束啦")    def suiditutan(self):#定義了一個函數屬性        print("%s 朝著牆上就是一口黃痰" %self.mingzi)    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self.mingzi)p1=Chinese("北爺",33,"female")Chinese.suiditutan(p1)#類調用方法Chinese.chadui(p1)#類調用方法p1.chadui()#執行個體調用方法,會自動把p1傳給selfp1.suiditutan()#執行個體調用方法,會自動把p1傳給selfC:\python35\python3.exe D:/pyproject/day24/對象相關知識.py我是初始化函數,我開始運行了我結束啦北爺 朝著牆上就是一口黃痰北爺 插到了前面北爺 插到了前面北爺 朝著牆上就是一口黃痰

6、再執行個體化一個p2  增加一個類的函數屬性,用執行個體調用一下

class Chinese:#定義了Chinese這個類    dang="當"#定義了一個資料屬性dang    def __init__(self,name,age,gender):#self就是p1本身        self.mingzi=name#p1.mingzi=name        self.nianji=age#p1.nainji=age        self.xingbie=gender#這樣寫完之後會自動return    def suiditutan(self):#定義了一個函數屬性        print("%s 朝著牆上就是一口黃痰" %self.mingzi)    def chadui(self):#又定義了一個函數屬性        print("%s 插到了前面" %self.mingzi)    def eatfood(self,food):        print("%s 正在吃%s" %(self.mingzi,food))p1=Chinese("北爺",33,"female")p1.eatfood("黃痰")p2=Chinese("喵爺",28,"female")p2.suiditutan()#執行個體調用類的函數屬性,會自動把p1傳給selfp2.eatfood("黃燜雞米飯")#執行個體調用類的函數屬性,會自動把p1傳給selfC:\python35\python3.exe D:/pyproject/day24/對象相關知識.py北爺 正在吃黃痰喵爺 朝著牆上就是一口黃痰喵爺 正在吃黃燜雞米飯

python的物件導向-執行個體(對象)的相關知識、執行個體化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.