日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 2129 0

本文實例形式講解了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是類變量,可以由類名直接調用,也可以有對象來調用;
val2是成員變量,可以由類的對象來調用,這里可以看出成員變量一定是以self.的形式給出的,因為self的含義就是代表實例對象;
val3不是成員變量,它只是函數fcn內部的局部變量;
val4和val5也都不是成員變量,雖是以self.給出,但并沒有在構造函數中初始化。

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

            
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


          

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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 蒲城县| 崇阳县| 禄丰县| 西林县| 宁都县| 化州市| 鹤峰县| 商河县| 淮滨县| 淮安市| 大洼县| 镇坪县| 九龙县| 五华县| 门头沟区| 年辖:市辖区| 靖宇县| 平顺县| 永顺县| 墨玉县| 和林格尔县| 屯留县| 双鸭山市| 麟游县| 新巴尔虎右旗| 海淀区| 如皋市| 万州区| 临洮县| 霍林郭勒市| 阳春市| 齐齐哈尔市| 潢川县| 仙居县| 正定县| 麟游县| 宁国市| 穆棱市| 阳曲县| 永宁县| 会泽县|