Python?動態(tài)綁定屬性和方法?
Python是動態(tài)語言,在創(chuàng)建對象后,可以動態(tài)地綁定屬性和方法
定義類:
class Student: ?#定義類 ? ? #在__init__初始化方法中定義的屬性是Student類的所有對象共享的屬性,如self.name,self.age ? ? def __init__(self,name,age): ?#__init__初始化方法 ? ? ? ? self.name=name ? ?#將局部變量name,賦值給實(shí)例變量 ? ? ? ? self.age=age ? ? def eat(self): ?#類方法 ? ? ? ? print(self.name+"在吃飯")
一個Student類可以創(chuàng)建N多個Student類的實(shí)例對象,每個實(shí)例對象的屬性可以相同也可以不同
如下面的張三李四:
stu1=Student("張三",20) ? ?#創(chuàng)建Student類的實(shí)例對象stu1
stu2=Student("李四",30)若只想給一個實(shí)例對象添加屬性,那么就可以使用動態(tài)綁定屬性的方法,為stu1添加一個性別屬性
在對象創(chuàng)建后創(chuàng)建的屬性,只適用于該對象使用
stu1.gender="女" ? #只為stu1實(shí)例對象動態(tài)添加屬性,該屬性只適用于stu1實(shí)例對象 print(stu1.name,stu1.age,stu1.gender) ? #張三 20 女 print(stu2.name,stu2.age) ? #張三 20 女 #print(stu2.name,stu2.age,stu2.gender) ? #AttributeError報錯,對象里沒有該屬性
總結(jié):
- 1.在
__init__初始化方法中定義的屬性是Student類的所有對象共享的屬性,如self.name,self.age - 2.在對象創(chuàng)建后創(chuàng)建的屬性,只適用于該對象使用,若其他對象使用則會報錯,因?yàn)闆]有該屬性
- 3.一個Student類可以創(chuàng)建N多個
Student類的實(shí)例對象,每個實(shí)例對象的屬性可以相同也可以不同,
如下面的張三李四:
stu1.eat() ?#張三在吃飯,對象可以直接引用類里定義的方法 stu2.eat() ?#李四在吃飯
除了可以動態(tài)添加屬性,還可以動態(tài)添加方法:
def show():
? ? print("定義在類之外的,稱為函數(shù)")
stu1.show=show ? ?#將定義的函數(shù)綁定在stu1這個對象上
stu1.show() ? #綁定后stu1就可以調(diào)用show()方法了
stu2.show()知識點(diǎn)總結(jié):
編程思想:
- 1.面向過程
- 2.面向?qū)ο?/li>
類對象 class:
- 1.類屬性
- 2.類方法
- 3.實(shí)例方法
- 4.靜態(tài)方法
實(shí)例對象:
- 1.類名() 創(chuàng)建實(shí)例對象c
- 2.動態(tài)綁定屬性
- 3.動態(tài)綁定方法
到此這篇關(guān)于Python 動態(tài)綁定屬性和方法 的文章就介紹到這了,更多相關(guān)Python 動態(tài)綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python讀取.mat文件的數(shù)據(jù)及實(shí)例代碼
這篇文章主要介紹了python讀取.mat文件的數(shù)據(jù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07
python 命令行傳入?yún)?shù)實(shí)現(xiàn)解析
這篇文章主要介紹了python 命令行傳入?yún)?shù)實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
python中關(guān)于CIFAR10數(shù)據(jù)集的使用
這篇文章主要介紹了python中關(guān)于CIFAR10數(shù)據(jù)集的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Python3爬蟲中識別圖形驗(yàn)證碼的實(shí)例講解
在本篇內(nèi)容里小編給大家分享的是關(guān)于Python3爬蟲中識別圖形驗(yàn)證碼的實(shí)例講解內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-07-07
利用OpenCV中對圖像數(shù)據(jù)進(jìn)行64F和8U轉(zhuǎn)換的方式
這篇文章主要介紹了利用OpenCV中對圖像數(shù)據(jù)進(jìn)行64F和8U轉(zhuǎn)換的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

