亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python筆記——類屬性和實例屬性詳解

系統 2437 0

在定義類(class)的時候發現屬性這個地方有很多坑,類屬性、實例屬性、局部變量傻傻分不清。
在在本文中介紹以下內容(全部跟定義類有關)

  1. 類屬性
  2. 實例屬性

一. 類屬性:定義類的模塊添加的屬性


1. 調用:

在內部用類名.類屬性名調用,
外部既可以用類名.類屬性名又可以用實例化對象.類屬性名來調用

demo1

            
              
                class
              
              
                Car
              
              
                (
              
              
                )
              
              
                :
              
              
                type
              
              
                =
              
              
                "new"
              
                      
my_car 
              
                =
              
               Car
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              my_car
              
                .
              
              
                type
              
              
                )
              
              
                ### 實例對象.類屬性名調用
              
              
                print
              
              
                (
              
              Car
              
                .
              
              
                type
              
              
                )
              
              
                ### 類名.類屬性名調用
              
            
          

輸出結果:

            
              new         
new

            
          

2. 修改:通過類名.類屬性修改,在全局任何地方都可以修改

demo2

            
              
                class
              
              
                Car
              
              
                (
              
              
                )
              
              
                :
              
              
                type
              
              
                =
              
              
                "new"
              
               
Car
              
                .
              
              
                type
              
              
                =
              
              
                "newnew"
              
              
my_car 
              
                =
              
               Car
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              Car
              
                .
              
              
                type
              
              
                )
              
              
                print
              
              
                (
              
              my_car
              
                .
              
              
                type
              
              
                )
              
            
          

輸出結果:

            
              newnew
newnew        
              
                ###通過輸出結果可以看出修改成功了
              
            
          

二、實例屬性:類內所有方法可調用(標志:self.屬性名)


  1. 在__init__(self,…)中初始化的屬性,self.屬性名
  2. 在類中的其他方法中定義的self.屬性名
    因為__init__函數比較特殊,所以單拿出來講,關于__init__方法:
    這兩種情況會在demo中一一舉例

要點:以self為前綴的變量都可以供類中的所有方法使用
外部調用時用實例對象.屬性名

demo

            
              
                class
              
              
                Car
              
              
                (
              
              
                )
              
              
                :
              
              
                type
              
              
                =
              
              
                "new"
              
              
                ###類屬性
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
              make
              
                ,
              
              year
              
                )
              
              
                :
              
                
        self
              
                .
              
              make 
              
                =
              
               make                            
        self
              
                .
              
              year 
              
                =
              
               year               
              
                ### make,year在實例化對象的時候必須傳入相應參數    必需實例屬性
              
              
        self
              
                .
              
              length 
              
                =
              
              
                2000
              
              
                ### 由于__init__方法定義的時候沒有wo,所以在實例化對象的時候無需傳入    非必需屬性
              
              
                def
              
              
                get_name
              
              
                (
              
              self
              
                )
              
              
                :
              
              
        long_name 
              
                =
              
               self
              
                .
              
              year
              
                +
              
              
                ' '
              
              
                +
              
              self
              
                .
              
              make
              
                +
              
              
                " "
              
              
                print
              
              
                (
              
              long_name
              
                ,
              
              self
              
                .
              
              length
              
                )
              
                      
my_car 
              
                =
              
               Car
              
                (
              
              
                'aodi'
              
              
                ,
              
              
                '2010'
              
              
                )
              
              
my_car
              
                .
              
              get_name
              
                (
              
              
                )
              
            
          

輸出結果:

            
              
                2010
              
               aodi  
              
                2000
              
            
          

從上面的注釋中可以看出有兩種實例屬性,一種是必需實例屬性(如demo中的make,year,它們是在__init__方法中定義的時候定義的,在實例化對象的時候必須傳入),一些是非必需實例屬性如(length,當然后面的方法也可以調用它,但在實例化對象的時候無需傳入)。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 真人实干一级毛片aa免费 | 亚洲国产精品激情在线观看 | 99热这就是里面只有精品 | 国内精品久久久久久中文字幕 | 99热久久国产精品这里有全部 | 精品在线免费观看视频 | 亚洲最大成人在线 | 91精品91久久久 | 国产一级特黄高清免费大片 | 99精品高清视频一区二区 | 欧美啊v在线观看 | 狠色狠色狠狠色综合久久 | 9久热这里只有精品视频在线观看 | 视频毛片 | 国产欧美日韩精品一区二 | 久久97精品久久久久久久看片 | 日韩在线国产精品 | 亚洲精品欧美精品日韩精品 | 四虎永久在线精品视频免费观看 | 亚州色吧 | 久久久精品午夜免费不卡 | 亚洲一级影片 | 奇米线在人线免费视频 | 3d动漫精品成人一区二区三 | 国产伦精品一区二区三区免 | 成人在线视频网 | 一级一片 | 成人a在线| 久久综合久美利坚合众国 | 国产精品19禁在线观看2021 | 久久久夜色精品国产噜噜 | 一级aa免费视频毛片 | 欧美成人禁片在线www | 偷亚洲偷国产欧美高清 | 美女毛片| 亚州中文字幕 | 亚洲高清资源在线观看 | 欧美 亚洲 激情 | 亚洲日日做天天做日日谢 | 99在线观看精品免费99 | 成人5252色 |