python中對(duì)_init_的理解及實(shí)例解析
一、self的位置是出現(xiàn)在哪里?
首先,self是在類的方法中的,在調(diào)用此方法時(shí),不用給self賦值,Python會(huì)自動(dòng)給他賦值,而且這個(gè)值就是類的實(shí)例--對(duì)象本身。也可以將self換成別的叫法例如seef,但不建議,因?yàn)榇蠹伊?xí)慣也默認(rèn)了寫成self。
二、self的值是什么?
self的值是Python會(huì)自動(dòng)賦值的,而且值是對(duì)象本身。舉例說明:類Dog,他的實(shí)例是d,那么,d調(diào)用類的方法jian(arge1,arge2)的時(shí)候,Python會(huì)自動(dòng)轉(zhuǎn)為Dog.jian(d,arge1,arge2)。self的值是Dog的實(shí)例d
由于類可以起到模板的作用,因此,可以在創(chuàng)建實(shí)例的時(shí)候,把一些我們認(rèn)為必須綁定的屬性強(qiáng)制填寫進(jìn)去。以學(xué)生類為例,通過定義一個(gè)特殊的__init__方法,在創(chuàng)建實(shí)例的時(shí)候,就把name,score等屬性綁上去:
注意:特殊方法“init”前后分別有兩個(gè)下劃線?。?!
注意到__init__方法的第一個(gè)參數(shù)永遠(yuǎn)是self,表示創(chuàng)建的實(shí)例本身,因此,在__init__方法內(nèi)部,就可以把各種屬性綁定到self,因?yàn)閟elf就指向創(chuàng)建的實(shí)例本身。
有了__init__方法,在創(chuàng)建實(shí)例的時(shí)候,就不能傳入空的參數(shù)了,必須傳入與__init__方法匹配的參數(shù),但self不需要傳,Python解釋器自己會(huì)把實(shí)例變量傳進(jìn)去:
和普通的函數(shù)相比,在類中定義的函數(shù)只有一點(diǎn)不同,就是第一個(gè)參數(shù)永遠(yuǎn)是實(shí)例變量self,并且,調(diào)用時(shí),不用傳遞該參數(shù)。除此之外,類的方法和普通函數(shù)沒有什么區(qū)別,所以,你仍然可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)用戶登陸郵件通知的方法
這篇文章主要介紹了python實(shí)現(xiàn)用戶登陸郵件通知的方法,實(shí)例分析了Python計(jì)劃任務(wù)與郵件發(fā)送的使用技巧,需要的朋友可以參考下2015-07-07基于Python實(shí)現(xiàn)本地音樂播放器的制作
這篇文章主要介紹了如何利用Python實(shí)現(xiàn)本地音樂播放器的制作,并且可以選擇需要播放的音樂的路徑,選擇播放方式,感興趣的小伙伴可以了解一下2022-06-06Python基礎(chǔ)語言學(xué)習(xí)筆記總結(jié)(精華)
給大家分享一篇關(guān)于Python基礎(chǔ)學(xué)習(xí)內(nèi)容的學(xué)習(xí)筆記整理總結(jié)篇,里面匯集了學(xué)習(xí)Python基礎(chǔ)語言的難點(diǎn)和技巧,分享給大家。2017-11-11Python?中如何將十六進(jìn)制轉(zhuǎn)換為?Base64
本篇文章將介紹在?Python?中將?hex?轉(zhuǎn)換為?base64?的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Python 僅獲取響應(yīng)頭, 不獲取實(shí)體的實(shí)例
今天小編就為大家分享一篇Python 僅獲取響應(yīng)頭, 不獲取實(shí)體的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08基于python實(shí)現(xiàn)可視化生成二維碼工具
這篇文章主要介紹了基于python實(shí)現(xiàn)可視化生成二維碼工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07