Python面向?qū)ο笾械念愖兞浚瑢嵗兞吭趺磥砝斫猓?/h1>
點擊上方“Python共享之家”,進行關(guān)注 回復(fù)“資源”即可獲贈Python學(xué)習(xí)資料
文翁翻教授,不敢倚先賢。 大家好,我是皮皮。
一、前言
前幾天在Python最強王者交流群有個叫【Chloe】的粉絲問了一個類變量和實例變量的問題,這里拿出來給大家分享下,一起學(xué)習(xí)下。

二、解決過程
在Python Tutorial中對于類變量和實例變量是這樣描述的:
Generally speaking, instance variables are for data unique to each instance and class variables are for attributes and methods shared by all instances of the class.
通常來說,實例變量是對于每個實例都獨有的數(shù)據(jù),而類變量是該類所有實例共享的屬性和方法。
針對下方的代碼:
class?Calculate:
????A?=?20
????B?=?20
????def?__init__(self,a,b):
????????A?=?a
????????B?=?b
????????print(self.A+self.B/2+1)
Calculate(4,10)
這個代碼輸出的結(jié)果是31.0,因為self是指向類本身,所以在init外定義A,B可以用self.A,self.B調(diào)用,但在init內(nèi)設(shè)置的A,B只是局部變量。
有了以上的基礎(chǔ)打底之后,接下來給這個代碼做幾個變形,就更加清晰了。
class?Calculate:
????A?=?20
????B?=?20
????def?__init__(self,a,b):
????????self.A?=?a
????????self.B?=?b
????????print(self.A+self.B/2+1)
Calculate(4,10)
像上方的這個代碼輸出的結(jié)果就是10.0。
下面給出【dcpeng】大佬給出的幾個圖解:
這么看應(yīng)該清晰了
再次變形:

最后再給大家分享下self這個參數(shù),參考下圖:

三、總結(jié)
大家好,我是皮皮。這篇文章主要分享了Python面向?qū)ο笾械念愖兞浚瑢嵗兞康膯栴},給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。

最后感謝粉絲【Chloe】提問,感謝【孤獨】、【dcpeng】、【月神】給出的具體解析和代碼演示,感謝【艾希·覺羅】、【】等人參與學(xué)習(xí)交流。
小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
瀏覽
40
回復(fù)“資源”即可獲贈Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python最強王者交流群有個叫【Chloe】的粉絲問了一個類變量和實例變量的問題,這里拿出來給大家分享下,一起學(xué)習(xí)下。

二、解決過程
在Python Tutorial中對于類變量和實例變量是這樣描述的:
Generally speaking, instance variables are for data unique to each instance and class variables are for attributes and methods shared by all instances of the class.
通常來說,實例變量是對于每個實例都獨有的數(shù)據(jù),而類變量是該類所有實例共享的屬性和方法。
針對下方的代碼:
class?Calculate:
????A?=?20
????B?=?20
????def?__init__(self,a,b):
????????A?=?a
????????B?=?b
????????print(self.A+self.B/2+1)
Calculate(4,10)
這個代碼輸出的結(jié)果是31.0,因為self是指向類本身,所以在init外定義A,B可以用self.A,self.B調(diào)用,但在init內(nèi)設(shè)置的A,B只是局部變量。
有了以上的基礎(chǔ)打底之后,接下來給這個代碼做幾個變形,就更加清晰了。
class?Calculate:
????A?=?20
????B?=?20
????def?__init__(self,a,b):
????????self.A?=?a
????????self.B?=?b
????????print(self.A+self.B/2+1)
Calculate(4,10)
像上方的這個代碼輸出的結(jié)果就是10.0。
下面給出【dcpeng】大佬給出的幾個圖解:
這么看應(yīng)該清晰了
再次變形:

最后再給大家分享下self這個參數(shù),參考下圖:

三、總結(jié)
大家好,我是皮皮。這篇文章主要分享了Python面向?qū)ο笾械念愖兞浚瑢嵗兞康膯栴},給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。

最后感謝粉絲【Chloe】提問,感謝【孤獨】、【dcpeng】、【月神】給出的具體解析和代碼演示,感謝【艾希·覺羅】、【】等人參與學(xué)習(xí)交流。
小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
