欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 久久综合影院 | 日韩精选视频 | 一级一级 a爱片免费视频 | 一区二区三区在线 | 成年人在线观看视频网站 | 久草视频免费播放 | 亚洲婷婷综合中文字幕第一页 | 欧美 国产 综合 | 亚洲精品一区二区三区蜜桃久 | 亚洲性后网 | 一级欧美一级日韩 | 亚洲一区国产 | 国产三级在线观看视频 | 日韩在线看片 | 操你啦免费视频 | 免费黄色大片视频 | 欧美一级毛片在线 | 久久久久久亚洲精品 | 国产成人精品影院狼色在线 | 国产片欧美片亚洲片久久综合 | 精品欧美一区二区三区 | 精品日韩欧美一区二区三区在线播放 | 国产亚洲精彩视频 | 亚洲国产国产综合一区首页 | 午夜视频在线观看免费观看在线观看 | 亚洲综合亚洲国产尤物 | 国产 高清 在线 | www.黄色大片 | 91青青青国产在观免费影视 | 亚洲经典激情春色另类 | 午夜院线| 欧美日韩在线视频观看 | 国产亚洲精品久久精品录音 | 日本在线亚州精品视频在线 | 亚洲人在线视频 | 日本大片久久久高清免费看 | 亚洲 欧洲 偷拍 校园 另类 | 免费看搡女人无遮挡的视频 | 日本高清午夜色wwwσ | 精品精品国产高清a毛片 | 国产成人综合久久精品红 |