成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[Python]實(shí)現(xiàn)Python類的公共屬性

ernest.wang / 3143人閱讀

摘要:背景今天看到有人問的類有沒有類似公共屬性的特性,就是修改了某個(gè)實(shí)例的對(duì)應(yīng)屬性,該類的所有實(shí)例的對(duì)應(yīng)屬性都隨之修改,想了想用了一個(gè)輔助的單例模式的類解決了問題。代碼演示感想要活用設(shè)計(jì)模式和它們的組合。

背景

今天看到有人問Python的類有沒有類似公共屬性的特性,就是修改了某個(gè)實(shí)例的對(duì)應(yīng)屬性,該類的所有實(shí)例的對(duì)應(yīng)屬性都隨之修改,想了想用了一個(gè)輔助的單例模式的類解決了問題。

思路

修改一個(gè)實(shí)例另一個(gè)實(shí)例也跟著修改,聽起來很像單例模式的特性,但又只針對(duì)一個(gè)屬性,所以可以借用一個(gè)輔助的類。

代碼
class Attr():
    attr = {}
    def __init__(self):
        self.__dict__ = self.attr
class Myclass():
    def __init__(self):
        self.attr = Attr()
    @property
    def value(self):
        return self.attr.value
    @value.setter
    def value(self, value):
        self.attr.value = value
演示
In [47]: a = Myclass()

In [48]: b = Myclass()

In [49]: a.value = 1

In [50]: b.value
Out[50]: 1

In [51]: b.value = 2

In [52]: a.value, b.value
Out[52]: (2, 2)
感想

要活用設(shè)計(jì)模式和它們的組合。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38369.html

相關(guān)文章

  • Python進(jìn)程專題7:托管對(duì)象

    摘要:連接帶遠(yuǎn)程管理器對(duì)象,該對(duì)象的地址在構(gòu)造函數(shù)中支出。在當(dāng)前進(jìn)程中運(yùn)行管理器服務(wù)器。啟動(dòng)一個(gè)單的子進(jìn)程,并在該子進(jìn)程中啟動(dòng)管理器服務(wù)器。如果無法序列號(hào)對(duì)象將引發(fā)異常。 上一篇文章:Python進(jìn)程專題6:共享數(shù)據(jù)與同步下一篇文章:Python進(jìn)程專題8:分布集群的消息傳遞 進(jìn)程不支持共享對(duì)象,上面描述的創(chuàng)建共享值和數(shù)組,但都是指定的特殊類型,對(duì)高級(jí)的Python對(duì)象(如:字典、列表、用...

    DevYK 評(píng)論0 收藏0
  • Python 面向?qū)ο缶幊蘋OP (一) 類,對(duì)象,屬性,訪問權(quán)限

    摘要:面向?qū)ο缶幊讨镁幊淌鞘裁创蠹液茫鳛樾“?,最近學(xué)習(xí)了很多編程的知識(shí),因?yàn)槟X容量有限,特此一一按照學(xué)習(xí)順序記錄下來,如果哪里有錯(cuò)誤,還請(qǐng)大神盡快指出,以免誤導(dǎo)他人。。。繼承也允許把一個(gè)派生類的對(duì)象作為一個(gè)基類對(duì)象對(duì)待。 Python面向?qū)ο缶幊讨?OOP編程是什么 大家好,作為小白,最近學(xué)習(xí)了很多Python OOP編程的知識(shí),因?yàn)槟X容量有限,特此一一按照學(xué)習(xí)順序記錄下來,如果哪里有...

    hiyayiji 評(píng)論0 收藏0
  • Python面向?qū)ο蟮娜筇匦苑庋b、繼承、多態(tài)

      小編寫這篇文章的主要目的,主要是來給大家介紹關(guān)于Python的一些事情,主要還是涉及到面對(duì)面對(duì)象編程的一些實(shí)例,其中,主要涉及到的內(nèi)容涵蓋封裝、繼承、多態(tài)等多種形式,就具體的形式,下面就給大家詳細(xì)解答下。  Python是一門面向?qū)ο蟮恼Z言。面向?qū)ο蠖加腥筇匦裕悍庋b、繼承、多態(tài)?! ∠旅娣謩e來說說這三大特性:  1、封裝  隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問方式。在python中用...

    89542767 評(píng)論0 收藏0
  • python面試題

    摘要:今天我們介紹的主角是在類的繼承里面非常常用,它解決了子類調(diào)用父類方法的一些問題,父類多次被調(diào)用時(shí)只執(zhí)行一次,優(yōu)化了執(zhí)行邏輯,下面我們就來詳細(xì)看一下。 1 談?wù)勀銓?duì)面向?qū)ο蟮睦斫猓?面向?qū)ο蟮木幊?--object oriented programming,簡(jiǎn)稱:OOP,是一種編程的思想。OOP把對(duì)象當(dāng)成一個(gè)程序的基本單元,一個(gè)對(duì)象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。面向?qū)ο蟮某霈F(xiàn)極大的提高了編...

    jeffrey_up 評(píng)論0 收藏0
  • 假裝用某米賽爾號(hào)的角度看Python面向?qū)ο缶幊?/b>

    摘要:而后面函數(shù)返回的是對(duì)象中的。中的方法用于初始化類的實(shí)例對(duì)象。因?yàn)槟趁踪悹柼?hào)精靈有數(shù)千只使用繼承的方法可以大大減少代碼量且當(dāng)需要 老玩家回歸:掛一張目前的陣容 showImg(https://segmentfault.com/img/bVbnFaS?w=787&h=246);哎, 菜是原罪啊。。。。。。 類和對(duì)象 下面我們正式創(chuàng)建自己的類, 這里我們使用Python自定義某米賽爾號(hào)的精靈...

    Heier 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<