欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

簡單分析python的類變量、實例變量

系統 1736 0

1、類變量、實例變量概念

類變量:

類變量就是定義在類中,但是在函數體之外的變量。通常不使用self.變量名賦值的變量。類變量通常不作為類的實例變量的,類變量對于所有實例化的對象中是公用的。

實例變量:

實例變量是定義在方法中的變量,使用self綁定到實例上的變量,只是對當前實例起作用。

2、訪問

類變量

在類的內部和外部類變量都可以直接使用className.類變量的形式訪問。但是在類的內部,也可以使用self.類變量來訪問,但是這個是用含義就不同了(后面使用代碼驗證)。

實例變量

在類的內部,實例變量self.實例變量的形式訪問;在類的外部使用對象名。實例變量的形式訪問。實例變量是綁定到一個實例上的變量,它只是屬于這個綁定的實力。而區別類變量的就是類變量是所有的來自用一個類的實例所共享。我們看到這里會有這樣的疑問!

如果說類變量對所有來自這個類的所有實例所共享,那么假如我一個實例去改變了這個類變量(假設使用這樣的操作object.類變量 = value)的值,那么對于其他的實例是不是都是可見的?

答案是否定的,下面驗證。

            
class A(object):
  # 定義一個類變量,初值是10
  class_var = 10
  print id(class_var)
  def foo(self):
  print '在類中訪問類變量:A.class_var=', A.class_var
  print '在類中訪問實例變量: self.class_var=', self, self.class_var
 
  # 改變實例變量的值
  self.class_var = 40
  print '修改后訪問類變量:A.class_var=', A.class_var
  print '修改后訪問實例變量 self.class_var=',self, self.class_var
 
  # 這里的class_var和函數外面的class_var不是同一個東西,這是一個局部變量
  class_var = 20
  print id(class_var)
  print 'class_var=', class_var
 
     
  A.class_var = 15
  print 'A.class_var=', A.class_var
  print 'class_var=',class_var
  print 'self.class_var=',self.class_var
     
 
obj1 = A()
obj2 = A()
obj3 = A()
obj1.foo()
print A.class_var
print obj1.class_var
print obj2.class_var
print obj3.class_var
          

Output:

            
49964144
在類中訪問類變量:A.class_var= 10
在類中訪問實例變量: self.class_var= <__main__.A object at 0x0000000002FD2390> 10
修改后訪問類變量:A.class_var= 10
修改后訪問實例變量 self.class_var= <__main__.A object at 0x0000000002FD2390> 40
49963904
class_var= 20
A.class_var= 15
class_var= 20
self.class_var= 40
15
40
15
15
          

從上面運行的結果分析:當使用self.class_var形式訪問類變量的之后,如果修改self.class_var的值,可以發現,類變量的值沒有變化;不放心我們在修改類變量的值,發現self.class_var的值也沒有受到影響。

從最后打印obj2和obj3這兩個都來自于一個類的實例中的類變量都是和修改后的類變量一樣,表示他們是共享類變量的。

3、總結

1、類變量可以使用className.類變量和self.類變量兩種方式訪問。
2、如果使用self.類變量的方式訪問并重新賦值后,這個變量就會成為實例變量和self綁定,實際上就變成了一個實例變量,實例變量會屏蔽掉類變量的值。
3、類變量是共享的,最好使用類名的方式來訪問類變量。
4、類變量通過sel訪問時,就會被轉化成實力變量,被綁定到特定的實例上。
5、實例變量(self)的形式對類變量重新賦值后,類變量的值不會隨之變化。
6、實例變量對每一個對象是不可見的,每一個對象擁有著可能不同的值。

以上我們整理的知識點希望能夠幫助到大家,感謝大家對腳本之家的支持。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色呦呦免费观看 | 欧美视频在线免费看 | 国产精品久久久久久亚洲伦理 | 欧美国产在线观看 | 欧美日韩在线观看中文字幕 | 色中色在线播放 | 色综合天天综合网国产成人 | 人人爱免费在线观看 | 亚洲综合成人网 | 久操免费在线视频 | 日本黄色片一级片 | 国产一区二区三区在线电影 | 欧美调教视频 | 国产精品自线在线播放 | 中文字幕一区二区三区四区 | jizzjizzjizz亚洲18| 在线视频日韩精品 | 久久精品欧美一区 | 精品日本一区二区 | 国产美女被爽到高潮免费A片小说 | 久热免费在线视频 | 日本大学生免费一级一片 | 成人国产激情福利久久精品 | 国产精品自线在线播放 | 色网站在线免费观看 | 成人18免费观看的软件 | 一区二区在线免费观看 | 国产精品毛片久久久久久 | 九九视频高清视频免费观看 | 性猛交ⅹxxx乱巴西 无人精品乱码一区二区三区 | 久久亚洲国产成人亚 | 久久一区二区三区免费 | 又黄又爽的网站 | 亚洲成人黄色 | 边摸边吃奶边做激情叫床 | 国产精品久久久久久久一区探花 | 色综合天天综合网国产成人网 | 欧美成人精品一区二区三区 | 成年免费大片黄在线观看岛国 | 九九在线视频 | 蜜桃精品噜噜噜成人av |