python3類對(duì)象、實(shí)例對(duì)象速和、類屬性歹垫、實(shí)例屬性。

類對(duì)象

創(chuàng)建一個(gè)類颠放,其實(shí)也是一個(gè)對(duì)象也在內(nèi)存開辟了一塊空間排惨,稱為類對(duì)象,類對(duì)象只有一個(gè)碰凶。

# 類對(duì)象
class A(object):
    pass

實(shí)例對(duì)象

就是通過實(shí)例化類創(chuàng)建的對(duì)象暮芭,稱為實(shí)例對(duì)象,實(shí)例對(duì)象可以有多個(gè)欲低。

# 實(shí)例化對(duì)象 a辕宏、b、c都屬于實(shí)例對(duì)象砾莱。
a = A()
b = A()
c = A()

類屬性

類里面方法外面定義的變量稱為類屬性瑞筐。
類屬性所屬于類對(duì)象并且多個(gè)實(shí)例對(duì)象之間共享同一個(gè)類屬性,
說白了就是類屬性所有的通過該類實(shí)例化的對(duì)象都能共享。

class A():
    a = xx  #類屬性
    def __init__(self):
        A.a = xx  #使用類屬性可以通過 (類名.類屬性)調(diào)用腊瑟。

實(shí)例屬性

實(shí)例屬性和具體的某個(gè)實(shí)例對(duì)象有關(guān)系聚假,并且一個(gè)實(shí)例對(duì)象和另外一個(gè)實(shí)例對(duì)象是不共享屬性的,
說白了實(shí)例屬性值能在自己的對(duì)象里面使用扫步,其他的對(duì)象不能直接使用魔策,因?yàn)閟elf是誰調(diào)用,他的值就屬于該對(duì)象河胎。

class 類名():
    __init__(self):
        self.name = xx #實(shí)例屬性

類屬性和實(shí)例屬性區(qū)別

# 創(chuàng)建類對(duì)象
class Test(object):
    class_attr = 100  # 類屬性

    def __init__(self):
        self.sl_attr = 100  # 實(shí)例屬性

    def func(self):
        print('類對(duì)象.類屬性的值:',Test.class_attr)  # 調(diào)用類屬性
        print('self.類屬性的值',self.class_attr)     # 相當(dāng)于把類屬性 變成實(shí)例屬性
        print('self.實(shí)例屬性的值',self.sl_attr)      # 調(diào)用實(shí)例屬性

# 創(chuàng)建a對(duì)象
a = Test()
a.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 100
self.類屬性的值 100
self.實(shí)例屬性的值 100

# 創(chuàng)建b對(duì)象
b = Test()
b.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 100
self.類屬性的值 100
self.實(shí)例屬性的值 100

# 通過(實(shí)例對(duì)象.類屬性)修改類屬性
a.class_attr = 200
# 通過(實(shí)例對(duì)象.實(shí)例屬性)修改實(shí)例屬性的值
a.sl_attr  = 200
a.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 100
self.類屬性的值 200
self.實(shí)例屬性的值 200

# 再次運(yùn)行b對(duì)象
b.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 100
self.類屬性的值 100
self.實(shí)例屬性的值 100

# 通過(類對(duì)象.類屬性)修改類屬性
Test.class_attr = 300
a.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 300
self.類屬性的值 200
self.實(shí)例屬性的值 200

# 此時(shí)再執(zhí)行b對(duì)象
b.func()
運(yùn)行結(jié)果:
類對(duì)象.類屬性的值: 300
self.類屬性的值 300
self.實(shí)例屬性的值 100

類方法

在方法前面加上@classmethod 這樣的方法稱為類方法闯袒,類方法可以修改類屬性的值。

實(shí)例方法

帶有self的都是實(shí)例方法。

靜態(tài)方法

靜態(tài)方法可以不加self參數(shù)政敢,一般只完成些既和類對(duì)象也和實(shí)例對(duì)象沒有關(guān)聯(lián)的基本功能其徙,如一些打印功能。

總結(jié)

1.類屬性:類外面喷户,可以通過實(shí)例對(duì)象.類屬性類名.類屬性進(jìn)行調(diào)用唾那。類里面,通過self.類屬性類名.類屬性進(jìn)行調(diào)用褪尝。
2.實(shí)例屬性 :類外面闹获,可以通過實(shí)例對(duì)象.實(shí)例屬性調(diào)用。類里面河哑,通過self.實(shí)例屬性調(diào)用避诽。
3.實(shí)例屬性就相當(dāng)于局部變量。出了這個(gè)類或者這個(gè)類的實(shí)例對(duì)象璃谨,就沒有作用了沙庐。
4.類屬性就相當(dāng)于類里面的全局變量,可以和這個(gè)類的所有實(shí)例對(duì)象共享佳吞。
5.類方法修改類屬性拱雏,實(shí)例方法修改實(shí)例屬性,靜態(tài)方法和他們都沒有關(guān)聯(lián)的時(shí)候使用底扳,也就是不需要傳參的時(shí)候使用铸抑。


單例對(duì)象

先記錄下

class A(object):
    #用類屬性用來標(biāo)識(shí)是否是第一次創(chuàng)建對(duì)象
    __ins = None
    def __new__(cls):
        #如果是第一次創(chuàng)建對(duì)象就把該對(duì)象的引用保存到__ins內(nèi)
        if cls.__ins == None:
             cls.__ins = object.__new__(cls)
             #返回第一次創(chuàng)建對(duì)象的引用
             return cls.__ins
        else:
             #返回上一次創(chuàng)建的對(duì)象的引用
              return cls.__ins
a = A()
b = A()
print (id(a))
print (id(b))

運(yùn)行結(jié)果

18991816
18991816
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市花盐,隨后出現(xiàn)的幾起案子羡滑,更是在濱河造成了極大的恐慌,老刑警劉巖算芯,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柒昏,死亡現(xiàn)場離奇詭異,居然都是意外死亡熙揍,警方通過查閱死者的電腦和手機(jī)职祷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來届囚,“玉大人有梆,你說我怎么就攤上這事∫庀担” “怎么了泥耀?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛔添。 經(jīng)常有香客問我痰催,道長兜辞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任夸溶,我火速辦了婚禮逸吵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缝裁。我一直安慰自己扫皱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布捷绑。 她就那樣靜靜地躺著韩脑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胎食。 梳的紋絲不亂的頭發(fā)上扰才,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音厕怜,去河邊找鬼。 笑死蕾总,一個(gè)胖子當(dāng)著我的面吹牛粥航,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播生百,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼递雀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚀浆?” 一聲冷哼從身側(cè)響起缀程,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎市俊,沒想到半個(gè)月后杨凑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摆昧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年撩满,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绅你。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伺帘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忌锯,到底是詐尸還是另有隱情伪嫁,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布偶垮,位于F島的核電站张咳,受9級(jí)特大地震影響帝洪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晶伦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一碟狞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婚陪,春花似錦族沃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沽一,卻和暖如春盖溺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铣缠。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國打工烘嘱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝗蛙。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓蝇庭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捡硅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哮内,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容