一、self的位置是出現(xiàn)在哪里?

首先,self是在類(lèi)的方法中的,在調(diào)用此方法時(shí),不用給self賦值,Python會(huì)自動(dòng)給他賦值,而且這個(gè)值就是類(lèi)的實(shí)例--對(duì)象本身。也可以將self換成別的叫法例如seef,但不建議,因?yàn)榇蠹伊?xí)慣也默認(rèn)了寫(xiě)成self。
二、self的值是什么?
self的值是Python會(huì)自動(dòng)賦值的,而且值是對(duì)象本身。舉例說(shuō)明:類(lèi)Dog,他的實(shí)例是d,那么,d調(diào)用類(lèi)的方法jian(arge1,arge2)的時(shí)候,Python會(huì)自動(dòng)轉(zhuǎn)為Dog.jian(d,arge1,arge2)。self的值是Dog的實(shí)例d
由于類(lèi)可以起到模板的作用,因此,可以在創(chuàng)建實(shí)例的時(shí)候,把一些我們認(rèn)為必須綁定的屬性強(qiáng)制填寫(xiě)進(jìn)去。以學(xué)生類(lèi)為例,通過(guò)定義一個(gè)特殊的__init__方法,在創(chuàng)建實(shí)例的時(shí)候,就把name,score等屬性綁上去:
注意:特殊方法“init”前后分別有兩個(gè)下劃線(xiàn)!!!
注意到__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ù)相比,在類(lèi)中定義的函數(shù)只有一點(diǎn)不同,就是第一個(gè)參數(shù)永遠(yuǎn)是實(shí)例變量self,并且,調(diào)用時(shí),不用傳遞該參數(shù)。除此之外,類(lèi)的方法和普通函數(shù)沒(méi)有什么區(qū)別,所以,你仍然可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前題目:python中對(duì)_init_的理解及實(shí)例解析-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://chinadenli.net/article14/hjjge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站收錄、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容