欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 欧美xxxxx视频在线 | 激情婷婷综合 | 国产精品国色综合久久 | 久久久影院 | 久色视频在线观看 | 国产成人+综合亚洲+天堂 | 成人淫片免费视频95视频 | 午夜小视频在线播放 | 亚洲一区在线播放 | 日韩在线观看第一页 | 色噜噜狠狠色综合欧洲 | 三黄日本三级在线观看 | 色婷婷综合久久久中文一区二区 | 亚洲免费观看在线视频 | 99久久精品国产亚洲 | 欧美视频成人 | 午夜影视在线观看免费完整高清大全 | 奇米第四色影视 | 精品中文字幕一区二区 | 天天看天天操 | 天堂在线v | 250pp久久新 全黄性性激高免费视频 | 欧美在线观看视频一区 | 欧美一级久久 | 污视频免费看网站 | 欧美日一区二区 | 久久久久免费观看 | 久久亚洲一级毛片 | 九九热在线精品视频 | 日本美女一区二区 | 日韩欧美小视频 | 四季久久免费一区二区三区四区 | 亚洲久久久久 | 热99在线视频 | 久久精品无码一区二区日韩av | 精品久久久久久久久久久 | 成人午夜爽爽爽免费视频 | 冯绍峰个人资料 | 一区亚洲| 精品国产一区二区三区性色av | 久久综合狠狠综合狠狠 |