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

python筆記——__init__方法與self詳解

系統(tǒng) 2351 0

前后都加雙下劃綫的方法在python中是獨(dú)一無(wú)二的,加下劃線的目的在于避免與普通方法名稱(chēng)沖突。
本文中主要深入理解在定義類(lèi)的時(shí)候必須用到的__init__方法。
在進(jìn)行詳細(xì)敘述之前,給大家普及一下,類(lèi)中的方法和屬性。

  • 方法:也就是各類(lèi)中定義的函數(shù),比如我們定義一個(gè)車(chē)的類(lèi),描述車(chē)的函數(shù)就是一個(gè)方法。
  • 屬性:車(chē)的品牌、型號(hào)、生產(chǎn)日期等信息就是它的屬性

1、__init__方法:無(wú)需直接調(diào)用,生成實(shí)例對(duì)象的時(shí)候自動(dòng)調(diào)用。


“init”的全稱(chēng)是“initialize”,也就是初始化的意思,所以__init__又稱(chēng)構(gòu)造方法。

在定義類(lèi)的時(shí)候__init__()方法是必不可少的。
init()這種初始化方法,用來(lái)初始化新創(chuàng)建對(duì)象的屬性,在一個(gè)對(duì)象被創(chuàng)建以后會(huì)立即調(diào)用,比如像實(shí)例化一個(gè)類(lèi):

demo

            
              
                class
              
              
                Car
              
              
                (
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
              make
              
                ,
              
              model
              
                ,
              
              year
              
                )
              
              
                :
              
              
                ###
              
              
        self
              
                .
              
              make 
              
                =
              
               make
        self
              
                .
              
              model 
              
                =
              
               model
        self
              
                .
              
              year 
              
                =
              
               year 
my_car 
              
                =
              
               Car
              
                (
              
              
                'aodi'
              
              
                ,
              
              
                'A4'
              
              
                ,
              
              
                '2010'
              
              
                )
              
              
                print
              
              
                (
              
              my_car
              
                .
              
              model
              
                )
              
            
          
            
              aodi

            
          

程序中沒(méi)有直接調(diào)用__init__方法,但make,model,year等屬性通過(guò)Car()類(lèi)自動(dòng)調(diào)用了__init__方法,生成了屬性。

2、self參數(shù)


“self”的英文意思很明顯,是自己的意思。

這里自己隱含的含義是

  1. 指的是,實(shí)例Instance本身。

  2. 同時(shí), 由于說(shuō)到“自己”這個(gè)詞,都是和相對(duì)而言的“其他”而說(shuō)的;而此處的其他,指的是,類(lèi)Class,和其他變量,比如局部變量,全局變量等。
    此處的self,是個(gè)對(duì)象(Object),是當(dāng)前類(lèi)的實(shí)例。
    因此,對(duì)應(yīng)的self.valueName 和 self.function()中的valueName:表示self對(duì)象,即實(shí)例的變量。與其他的,Class的變量,全局的變量,局部的變量,是相對(duì)應(yīng)的。
    function:表示是調(diào)用的是self對(duì)象,即實(shí)例的函數(shù)。與其他的全局的函數(shù),是相對(duì)應(yīng)的。

因?yàn)镻ython已經(jīng)規(guī)定:函數(shù)的第一個(gè)參數(shù),就必須是實(shí)例對(duì)象本身,并且約定俗成,把其名字寫(xiě)為self。因此我們?cè)俣x類(lèi)中的所有函數(shù)時(shí)必須傳入self參數(shù)。

demo

            
              
                class
              
              
                Car
              
              
                (
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
              make
              
                ,
              
              model
              
                ,
              
              year
              
                )
              
              
                :
              
              
                ###
              
              
        self
              
                .
              
              make 
              
                =
              
               make
        self
              
                .
              
              model 
              
                =
              
               model
        self
              
                .
              
              year 
              
                =
              
               year 
    
              
                def
              
              
                get_descriptive_name
              
              
                (
              
              self
              
                )
              
              
                :
              
              
        long_name 
              
                =
              
               self
              
                .
              
              year
              
                +
              
              
                ' '
              
              
                +
              
              self
              
                .
              
              make
              
                +
              
              
                " "
              
              
                +
              
              self
              
                .
              
              model
        
              
                print
              
              
                (
              
              self
              
                )
              
              
                ###看下self指向哪里
              
              
                print
              
              
                (
              
              
                type
              
              
                (
              
              self
              
                )
              
              
                )
              
              
                ###看下self類(lèi)型是什么
              
              
                return
              
               long_name
my_car 
              
                =
              
               Car
              
                (
              
              
                'aodi'
              
              
                ,
              
              
                'A4'
              
              
                ,
              
              
                '2010'
              
              
                )
              
              
my_car
              
                .
              
              get_descriptive_name
              
                (
              
              
                )
              
            
          

輸出內(nèi)容:

            
              
                <
              
              __main__
              
                .
              
              Car 
              
                object
              
               at 
              
                0x000001D31F7408D0
              
              
                >
              
              
                ##可以看出self指向的是一個(gè)對(duì)象,也就是我們用my_car的實(shí)例對(duì)象 == self
              
              
                <
              
              
                class
              
              
                '__main__.Car'
              
              
                >
              
              
                ## self的類(lèi)型是Car類(lèi)的實(shí)例對(duì)象
              
              
                '2010 aodi A4'
              
            
          

參考文獻(xiàn):https://www.cnblogs.com/ant-colonies/p/6718388.html


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: av激情在线 | 999精品视频 | 日韩视频一区二区三区 | 日韩成人免费电影 | 亚洲男人天堂2021 | 午夜视频吧 | 亚洲精品无码成人A片在线虐 | 99久久婷婷 | 2021国产精品一区二区在线 | 亚洲综合色在线 | 亚洲欧美另类在线观看 | 加勒比精品久久一区二区三区 | 久草视频播放 | 国产精品人妻无码久久久郑州 | 久久女| 国产免费一区二区在线看 | 久草手机在线 | 男女在线免费视频 | 四虎影视免费在线观看 | va在线 | 亚洲精品一区久久久久久 | 亚洲三区在线观看 | 唐人社电亚洲一区二区三区 | 在线免费毛片 | 日本欧美日韩 | 免费精品一区二区三区在线观看 | 婷婷丁香社区 | 男女性关系视频免费观看软件 | 国产在视频线精品视频www666 | 9191av| 天天干天天舔天天操 | 国产精品福利自产拍网站 | 午夜在线影院 | 亚洲精品自拍 | 国产精品久久久久久日本 | 亚洲国产精品综合久久 | 成av在线| 日韩精品 电影一区 亚洲 | 国产免费麻豆 | 久久国产视频网 | 九九热国产在线 |