類屬性
.類屬性是可以直接通過“類名.屬性名”來訪問和修改。
.類屬性是這個類的所有實例對象所共有的屬性,
任意一個實例對象都可以訪問并修改這個屬性(私有隱藏除外)。
.對類屬性的修改,遵循基本數(shù)據(jù)類型的特性:列表可以直接修改,字符串不可以,
所以當(dāng)類屬性是一個列表時,通過任意一個實例對象對其進(jìn)行修改。
但字符串類型的類屬性不能通過實例對象對其進(jìn)行修改。
當(dāng)實例對不可變對象進(jìn)行修改之后,會查找實例的類屬性,不會查找類的屬性,同時類的屬性不會邊
實例屬性
.在屬性前面加了self標(biāo)識的屬性為實例的屬性。
.在定義的時候用的self加屬性名字的形式,在查看實例的屬性時
就是通過實例的名稱+‘.’+屬性名來訪問實例屬性。
一些說明:
.一般,方法第一個參數(shù)被命名為self,,這僅僅是一個約定,
self沒有特殊含義,程序員遵循這個約定。
.查看類中的屬性和實例屬性可以調(diào)用__dict__方法返回屬性組成的字典。
.Python中屬性的獲取是按照從下到上的順序來查找屬性
.Python中的類和實例是兩個完全獨立的對象
.Python中的屬性設(shè)置是針對對象本身進(jìn)行的
####屬性,屬性本質(zhì)上就一個變量
'''
1.實例化屬性
2.類屬性(共有屬性)
'''
#1.實例化屬性,self.name
classAnimal:
def__init__(self,name,food):#自己獨有的,就放到實例化里面
print('正在實例化')
self.name=name#實例化屬性:每個實例可能不同,但是都有
self.food=food
defget_name(self):
print(self.name)
#2.類屬性(共有屬性)
classAnimal:
eye=2
leg=4#共有的
def__init__(self,name,food):
print('正在實例化')
self.name=name
self.food=food
defget_name(self):
print(self.name)
以上內(nèi)容為大家介紹了Python類和實例的屬性,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。