亚洲色影视在线播放_国产一区+欧美+综合_久久精品少妇视频_制服丝袜国产网站

總結(jié)

類的屬性和方法總結(jié)

時(shí)間:2024-08-28 08:19:51 總結(jié) 我要投稿
  • 相關(guān)推薦

類的屬性和方法總結(jié)

  在計(jì)算機(jī)語言編程中,我們經(jīng)常接觸到類,那么,今天,小編給大家介紹的是類的屬性和方法總結(jié),供大家閱讀參考。

類的屬性和方法總結(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)文章:

終工作總結(jié):方法和心態(tài)03-15

學(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