小編給大家分享一下python中屬性和方法存在著哪些區(qū)別,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)主營海林網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),海林h5微信小程序開發(fā)搭建,海林網(wǎng)站營銷推廣歡迎海林等地區(qū)企業(yè)咨詢
對象的創(chuàng)建
創(chuàng)建對象的過程稱之為實(shí)例化;當(dāng)一個對象被創(chuàng)建后,包含三個方面的特性:對象句柄、屬性和方法。
句柄用于區(qū)分不同的對象
對象的屬性和方法與類中的成員變量和成員函數(shù)對應(yīng)
obj=MyClass() //創(chuàng)建類的一個實(shí)例(對象)通過對象來調(diào)用方法和屬性
類的屬性
類的屬性按使用范圍:公有屬性和私有屬性,
類的屬性范圍取決于屬性的名稱。
公有屬性:在類中和類外都能調(diào)用屬性。
私有屬性:不能在類外及被類意外的函數(shù)調(diào)用。
定義方式:以“_”雙下劃線開始的成員變量就是私有屬性
私有屬性,可以通過instance._classname_attribute方式訪問。
內(nèi)置屬性:有系統(tǒng)在定義類的時候默認(rèn)添加的,由前后雙下劃線構(gòu)成,dict,module.
#!/usr/bin/env python #-*-coding:utf-8-*- #@Time : 2018/1/11 15:48 #!@Auther:bestsky #!@File :demon1-class attributes.py class People(object): color = "yellow" __age = 30 #私有屬性 def think(self): self.color = "black" print ("I am a %s" %self.color) # print self.__age ren = People() print ren print ren.color ren.think()
print ren._People__age #私有屬性調(diào)用方法,建議:僅程序測試使用
python學(xué)習(xí)網(wǎng),免費(fèi)的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!
類的方法
方法的定義和函數(shù)一樣,但是需要self作為第一個參數(shù)
類的方法為:
公有方法
公有方法:在類中和類外都能調(diào)用的方法
私有方法
私有方法:不能被類外部調(diào)用,在方法前面加上“__“雙下劃線就是私有方法;
類方法
類方法:被classmethod()函數(shù)處理過的函數(shù),能被類所調(diào)用,也能被對象所調(diào)用(是繼承的關(guān)系)
靜態(tài)方法
靜態(tài)方法:相當(dāng)于“全局函數(shù)”,可以被類直接調(diào)用,可以被所有實(shí)例化對象共享,通過staticmethod()定義, 靜態(tài)方法沒有“self”參數(shù)。
self參數(shù)
用于區(qū)分函數(shù)和類的方法(必須有一個self),self參數(shù)表示執(zhí)行對象本身。
看完了這篇文章,相信你對python中屬性和方法存在著哪些區(qū)別有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!