溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中_init_和self存在著什么關(guān)系

發(fā)布時(shí)間:2020-12-10 09:39:20 來源:億速云 閱讀:255 作者:小新 欄目:編程語言

這篇文章主要介紹python中_init_和self存在著什么關(guān)系,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

在開始講解二者的關(guān)系之前,我們先來把它們的基本意思弄清楚。_init_是我們在python類中的一個(gè)方法,self大家簡單的理解為參數(shù)就可以了。那么在使用_init_的時(shí)候,就不可避免的要討論參數(shù)的問題。

_init_基本用法

class Person(object):
    """Silly Person"""
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
    def __str__(self):
        return '<Person: %s(%s)>' % (self.name, self.age)
 
if __name__ == '__main__':
    piglei = Person('piglei', 24)
    print piglei

__init__存在的意義,往往是賦值,或者作為啟動(dòng)內(nèi)部方法用的做個(gè)比喻,你建立一個(gè)類,就像建立了一個(gè)班級,每個(gè)實(shí)例,就是一個(gè)學(xué)生,但只要學(xué)生進(jìn)入了班級,就要先給他發(fā)一套,對應(yīng)這個(gè)班級要上課的書,那么這個(gè)過程,發(fā)書,賦值,就是在init里面做至于self,就是代表這一個(gè)學(xué)生,一個(gè)學(xué)生,首先每個(gè)學(xué)生有每個(gè)學(xué)生的屬性,每次運(yùn)行實(shí)例方法的時(shí)候,或者改變實(shí)力屬性的時(shí)候,只是改變他自己的,不能一個(gè)學(xué)生考試不及格,全班都算掛科吧?

class xuesheng:
    def __init__(self,n):
        self.yuwen=n
 
    def chengji(self):
        print(self.yuwen)
 
 
a=xuesheng(100)
b=xuesheng(20)
a.chengji()
b.chengji()

一個(gè)學(xué)生,考試100分,一個(gè)學(xué)生,考試20分。

他們都是,在init里面賦值的,而且是賦值給self,就是這個(gè)實(shí)例。

然后,想查看他們成績,在調(diào)用一個(gè)成績方法,打印出來的時(shí)候,就是他們各自,自己的成績,這個(gè)時(shí)候,要調(diào)用self的屬性,如果沒有self,就涼涼了。

以上是“python中_init_和self存在著什么關(guān)系”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI