最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的類變量和成員變量用法實例教程

 更新時間:2014年08月25日 10:15:29   投稿:shichen2014  
這篇文章主要介紹了python的類變量和成員變量用法,是學習Python程序設計所必須牢固掌握的,需要的朋友可以參考下

本文實例形式講解了python的類變量和成員變量用法,對于Python程序設計有一定的參考價值。分享給大家供大家參考。具體如下:

先看看下面這段代碼:

class TestClass(object):
  val1 = 100
  
  def __init__(self):
    self.val2 = 200
  
  def fcn(self,val = 400):
    val3 = 300
    self.val4 = val
    self.val5 = 500 
 if __name__ == '__main__':
  inst = TestClass()
   
  print TestClass.val1
  print inst.val1
  print inst.val2
  print inst.val3
  print inst.val4  
  print inst.val5

這里,val1是類變量,可以由類名直接調(diào)用,也可以有對象來調(diào)用;
val2是成員變量,可以由類的對象來調(diào)用,這里可以看出成員變量一定是以self.的形式給出的,因為self的含義就是代表實例對象;
val3不是成員變量,它只是函數(shù)fcn內(nèi)部的局部變量;
val4和val5也都不是成員變量,雖是以self.給出,但并沒有在構造函數(shù)中初始化。

再看看下面的代碼(#號后面的是運行結果):

inst1 = TestClass()
inst2 = TestClass()

print TestClass.val1 # 100
print inst1.val1   # 100

inst1.val1 = 1000  
print inst1.val1   # 1000
print TestClass.val1 # 100

TestClass.val1 =2000 
print inst1.val1   # 1000
print TestClass.val1 # 2000

print inst2.val1   # 2000   

inst3 = TestClass() 
print inst3.val1   # 2000

可以發(fā)現(xiàn):python的類變量和C++的靜態(tài)變量不同,并不是由類的所有對象共享。類本身擁有自己的類變量(保存在內(nèi)存),當一個TestClass類的對象被構造時,會將當前類變量拷貝一份給這個對象,當前類變量的值是多少,這個對象拷貝得到的類變量的值就是多少;而且,通過對象來修改類變量,并不會影響其他對象的類變量的值,因為大家都有各自的副本,更不會影響類本身所擁有的那個類變量的值;只有類自己才能改變類本身擁有的類變量的值

希望本文所述實例對于大家理解和掌握Python的類變量和成員變量用法有所幫助。

相關文章

最新評論

玉溪市| 孝昌县| 丰县| 正宁县| 柳州市| 安溪县| 丽江市| 会理县| 沽源县| 修水县| 崇信县| 元氏县| 金寨县| 钟山县| 咸阳市| 荃湾区| 汾阳市| 庐江县| 平度市| 平原县| 建阳市| 常熟市| 介休市| 阿图什市| 福建省| 邢台市| 巩留县| 合作市| 岚皋县| 凤冈县| 洛阳市| 万荣县| 茶陵县| 岳普湖县| 德阳市| 太湖县| 林芝县| 盐池县| 东兴市| 武威市| 灵丘县|