- 相關(guān)推薦
類的屬性和方法總結(jié)
在計(jì)算機(jī)語言編程中,我們經(jīng)常接觸到類,那么,今天,小編給大家介紹的是類的屬性和方法總結(jié),供大家閱讀參考。
類的屬性和方法總結(jié)
1.類綁定屬性
類綁定屬性可以直接在class中定義屬性,這種屬性是類屬。
1 class Student(object):
2 name = 'Student'
這個(gè)屬性雖然歸類所有,但類的所有實(shí)例都可以訪問到。
class Student(object):
name = 'Student'
s = Student() # 創(chuàng)建實(shí)例s
print(s.name) # 打印name屬性,因?yàn)閷?shí)例并沒有name屬性,所以會(huì)繼續(xù)查找class的name屬性
print(Student.name) # 打印類的name屬性
Student
Student
此時(shí)如果修改s.name的值,會(huì)有如下結(jié)果:
s.name = 'xiaoming' # 給實(shí)例綁定name屬性
print(s.name) # 由于實(shí)例屬性優(yōu)先級比類屬性高,因此,它會(huì)屏蔽掉類的name屬性
print(Student.name) # 但是類屬性并未消失,用Student.name仍然可以訪問
xiaoming
Student
接下來刪除s.name屬性:
del s.name # 如果刪除實(shí)例的name屬性
print(s.name) # 再次調(diào)用s.name,由于實(shí)例的name屬性沒有找到,類的name屬性就顯示出來了
Student
由此可見相同名稱的實(shí)例屬性將覆蓋類屬性,刪除實(shí)例屬性后,實(shí)例將向上訪問到類屬性。
2.實(shí)例綁定屬性
實(shí)例綁定屬性的方法有兩種,一是通過類的self變量,二是直接給實(shí)例賦值。
class Student(object):
def __init__(self, name):
self.name = name
s = Student('Bob')#方法一 通過類的self變量綁定屬性
s.score = 90#方法二 直接賦值
3.類綁定方法
類綁定方法分兩種,第一種形如類綁定屬性,例程如下:
Class Student(object):
pass
a=Student()#創(chuàng)建實(shí)例
def set_score(self,score):
self.score=score
Student.set_score=set_score#類綁定方法
a.set_score(99)#調(diào)用方法
a.score
99#輸出
第二種是使用MethodType給類綁定方法:
Class Student(object):
pass
a=Student()#創(chuàng)建實(shí)例
def set_score(self,score):
self.score=score
from types import MethodType
Student.set_score = MethodType(set_score, Student)
a.set_score(99)#調(diào)用方法
a.score
99#輸出
這種方法有一個(gè)需要注意的.地方,如果繼續(xù)創(chuàng)建一個(gè)實(shí)例b:
b=Student()
b.set_score(60)
b.score
a.score
60
60
會(huì)發(fā)現(xiàn)a的屬性score值也變成60。這里個(gè)人的理解是這里的score并不是同上一種方法一樣直接綁定在類,而是類似于像列表一樣的共享引用的關(guān)系,
即實(shí)例a和b都引用這個(gè)score作為自己的屬性,而當(dāng)其被修改時(shí),所有引用它的實(shí)例的對應(yīng)屬性都將一同發(fā)生變化。
4.實(shí)例綁定方法
第一種通過給類綁定方法,可以使實(shí)例調(diào)用,如上所示。
第二種是使用MethodType給單個(gè)實(shí)例綁定方法。
Class Student(object):
pass
a=Student()#創(chuàng)建實(shí)例
def set_score(self,score):
self.score=score
from types import MethodType
a.set_score = MethodType(set_score, a)
a.set_score(99)#調(diào)用方法
a.score
99#輸出
注意這種方式只對實(shí)例a起作用,如果需要類Studnet的所有實(shí)例均可調(diào)用,那么直接給類Student綁定方法即可。
【類的屬性和方法總結(jié)】相關(guān)文章:
學(xué)習(xí)的理論和方法03-23
預(yù)習(xí)的策略和方法04-23
預(yù)習(xí)的類型和方法03-19
讀書的方法和技巧03-17
演講的技巧和方法11-14
讀書方法和心得03-14
對于英語學(xué)習(xí)方法和經(jīng)驗(yàn)的總結(jié)11-24
個(gè)人學(xué)習(xí)方法總結(jié)和探討11-23
面試提供的意見和方法01-06