python物件導向

來源:互聯網
上載者:User

標籤:對象   參數   nbsp   span   報錯   資料   python   關閉   size   

 1 class Dog(object): 2     n=123               3     name=‘類變數name‘ 4     n_list=[] 5      6     def __init__(self,name,life_value=100):  #傳參數 7         self.name=name       8         self.__life_value=life_value    9     10     def __del__(self):11         print("%s dead"% self.name)12 13     def show_status(self):14         print("test 私人變數調用 name:%s,life_value:%s" %(self.name,self.__life_value))15 16     def bulk(self):17         print("%s is wang wang wang" % self.name)18 19 d1=Dog("huanhuan")    20 d1.bulk()21 print("d1:",d1.name,d1.n)22 d1.n_list.append(‘d1,‘) 23 d1.wierd=True            #增24 print("d1:",d1.name,d1.n,d1.n_list,d1.wierd)25 d1.show_status()26 del d1.n                 #刪27 28 del d1            29 30 d2=Dog(‘lele‘)31 d2.n_list.append(‘d2,‘)32 print("d2:",d2.name,d2.n,d2.n_list)33 34 print("Dog:",Dog.name,Dog.n,Dog.n_list)

建構函式:執行個體化過程中做一些初始化的工作,傳參。

def __init__(self,name,life_value=100):  #傳參數 7         self.name=name       8         self.__life_value=life_value   

 調用:d1=Dog(‘huanhuan‘)   

展開來看:

d1.name=‘huanhuan‘

d1.__life_value=100

 

解構函式:在執行個體釋放、撤銷時,做收尾工作,如斷開資料庫連接,關閉已開啟的臨時檔案

def __del__(self):11         print("%s dead"% self.name)

28 del d1  #刪除d1執行個體,(門派號沒了,房子可以拆了),銷毀對象,執行解構函式
而程式中沒有寫del d2,所以d2對象解構函式的調用是在整個程式結束時。

私人屬性、私人方法:外部不能直接調用,必須通過類的其他方法才能調用。
8         self.__life_value=life_value  (前面有__)
調用:
13     def show_status(self):14         print("test 私人變數調用 name:%s,life_value:%s" %(self.name,)
不能直接在外部print(self.__life_value)會報錯
#私人方法   
def __sleep(self): print(‘私人方法:%s is sleeping‘ %self.name)#調用私人方法 def show_status(self): self.__sleep()

 

 


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.