Python?動(dòng)態(tài)綁定屬性和方法?
Python
是動(dòng)態(tài)語(yǔ)言,在創(chuàng)建對(duì)象后,可以動(dòng)態(tài)地綁定屬性和方法
定義類:
class Student: ?#定義類 ? ? #在__init__初始化方法中定義的屬性是Student類的所有對(duì)象共享的屬性,如self.name,self.age ? ? def __init__(self,name,age): ?#__init__初始化方法 ? ? ? ? self.name=name ? ?#將局部變量name,賦值給實(shí)例變量 ? ? ? ? self.age=age ? ? def eat(self): ?#類方法 ? ? ? ? print(self.name+"在吃飯")
一個(gè)Student
類可以創(chuàng)建N多個(gè)Student類的實(shí)例對(duì)象,每個(gè)實(shí)例對(duì)象的屬性可以相同也可以不同
如下面的張三李四:
stu1=Student("張三",20) ? ?#創(chuàng)建Student類的實(shí)例對(duì)象stu1 stu2=Student("李四",30)
若只想給一個(gè)實(shí)例對(duì)象添加屬性,那么就可以使用動(dòng)態(tài)綁定屬性的方法,為stu1添加一個(gè)性別屬性
在對(duì)象創(chuàng)建后創(chuàng)建的屬性,只適用于該對(duì)象使用
stu1.gender="女" ? #只為stu1實(shí)例對(duì)象動(dòng)態(tài)添加屬性,該屬性只適用于stu1實(shí)例對(duì)象 print(stu1.name,stu1.age,stu1.gender) ? #張三 20 女 print(stu2.name,stu2.age) ? #張三 20 女 #print(stu2.name,stu2.age,stu2.gender) ? #AttributeError報(bào)錯(cuò),對(duì)象里沒(méi)有該屬性
總結(jié):
- 1.在
__init__
初始化方法中定義的屬性是Student類的所有對(duì)象共享的屬性,如self.name,self.age
- 2.在對(duì)象創(chuàng)建后創(chuàng)建的屬性,只適用于該對(duì)象使用,若其他對(duì)象使用則會(huì)報(bào)錯(cuò),因?yàn)闆](méi)有該屬性
- 3.一個(gè)Student類可以創(chuàng)建N多個(gè)
Student
類的實(shí)例對(duì)象,每個(gè)實(shí)例對(duì)象的屬性可以相同也可以不同,
如下面的張三李四:
stu1.eat() ?#張三在吃飯,對(duì)象可以直接引用類里定義的方法 stu2.eat() ?#李四在吃飯
除了可以動(dòng)態(tài)添加屬性,還可以動(dòng)態(tài)添加方法:
def show(): ? ? print("定義在類之外的,稱為函數(shù)") stu1.show=show ? ?#將定義的函數(shù)綁定在stu1這個(gè)對(duì)象上 stu1.show() ? #綁定后stu1就可以調(diào)用show()方法了 stu2.show()
知識(shí)點(diǎn)總結(jié):
編程思想:
- 1.面向過(guò)程
- 2.面向?qū)ο?/li>
類對(duì)象 class:
- 1.類屬性
- 2.類方法
- 3.實(shí)例方法
- 4.靜態(tài)方法
實(shí)例對(duì)象:
- 1.類名() 創(chuàng)建實(shí)例對(duì)象c
- 2.動(dòng)態(tài)綁定屬性
- 3.動(dòng)態(tài)綁定方法
到此這篇關(guān)于Python 動(dòng)態(tài)綁定屬性和方法 的文章就介紹到這了,更多相關(guān)Python 動(dòng)態(tài)綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python按照多個(gè)字符對(duì)字符串進(jìn)行分割的方法
這篇文章主要介紹了python按照多個(gè)字符對(duì)字符串進(jìn)行分割的方法,涉及Python中正則表達(dá)式匹配的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03pandas如何計(jì)算同比環(huán)比增長(zhǎng)
這篇文章主要介紹了pandas如何計(jì)算同比環(huán)比增長(zhǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05手把手教你從PyCharm安裝到激活(最新激活碼),親測(cè)有效可激活至2089年
最近很多網(wǎng)友找小編反映PyCharm激活碼失效了,原來(lái)的已經(jīng)不能用了。浪費(fèi)了半天時(shí)間終于找到一個(gè)可以使用的了,支持最新JetBrains全系列產(chǎn)品(Pycharm 2020.2.x,Intellij idea 2020.2.x,WebStorm 2020.2.x)。,需要的朋友可以參考下2020-10-10pandas 對(duì)日期類型數(shù)據(jù)的處理方法詳解
這篇文章主要介紹了pandas 對(duì)日期類型數(shù)據(jù)的處理方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08輕松實(shí)現(xiàn)TensorFlow微信跳一跳的AI
這篇文章主要教大家如何輕松實(shí)現(xiàn)TensorFlow微信跳一跳的AI,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Python工程師面試題 與Python基礎(chǔ)語(yǔ)法相關(guān)
這篇文章主要為大家分享了Python工程師面試題,面試題的內(nèi)容主要與Python基礎(chǔ)語(yǔ)法相關(guān),感興趣的小伙伴們可以參考一下2016-01-01用pywin32實(shí)現(xiàn)windows模擬鼠標(biāo)及鍵盤動(dòng)作
這篇文章主要介紹了用pywin32實(shí)現(xiàn)windows模擬鼠標(biāo)及鍵盤動(dòng)作的示例,需要的朋友可以參考下2014-04-04Python?sklearn?中的?make_blobs()?函數(shù)示例詳解
make_blobs()?是?sklearn.datasets中的一個(gè)函數(shù),這篇文章主要介紹了Python?sklearn?中的?make_blobs()?函數(shù),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02