最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python設(shè)計(jì)模式創(chuàng)建型原型模式

 更新時(shí)間:2022年02月16日 08:45:36   作者:范桂颶  
這篇文章主要介紹了Python原型模式,原型模式即Prototype?Pattern,指用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過拷貝這些原型創(chuàng)建新的對(duì)象,下面我們就來看具體的介紹內(nèi)容吧,希望對(duì)你的學(xué)習(xí)有所幫助

一、原型模式

原型是相對(duì)于復(fù)制、克隆而言的,但是不同于模板,模板創(chuàng)造出的東西是一模一樣,而原型創(chuàng)造出的東西是允許存在差異化和個(gè)性化的。

原型模式的實(shí)現(xiàn)思路是:“深拷貝” 和 “屬性更新”。定義一個(gè)原型,設(shè)計(jì)一個(gè)拷貝接口,不需要頻繁實(shí)例化類,只需要拷貝。

優(yōu)點(diǎn):

  • 減少因?yàn)閷?duì)象實(shí)例化而產(chǎn)生的損耗,并實(shí)行動(dòng)態(tài)裝載。

二、應(yīng)用場(chǎng)景

三、代碼示例

要實(shí)現(xiàn)多個(gè)人的自我介紹,一般方法是每個(gè)人都創(chuàng)建一個(gè)對(duì)象,但是使用原型模式之后,只需要實(shí)例化一個(gè)對(duì)象(標(biāo)準(zhǔn)人),后面的人都已這個(gè)標(biāo)準(zhǔn)人為基礎(chǔ)來實(shí)現(xiàn)個(gè)性化。

import copy


class Information:
? ? """個(gè)人信息"""

? ? def __init__(self):
? ? ? ? self.name = None
? ? ? ? self.ager = None
? ? ? ? self.height = None

? ? def run(self):
? ? ? ? """
? ? ? ? 自我介紹方法
? ? ? ? :return:
? ? ? ? """
? ? ? ? print("我叫{}: 年齡:{} 身高:{}".format(self.name, self.ager, self.height))


class Prototype:
? ? def __init__(self, obj):
? ? ? ? self.copy_object = obj()

? ? def clone(self, **attr):
? ? ? ? obj = copy.deepcopy(self.copy_object)
? ? ? ? obj.__dict__.update(attr)
? ? ? ? return obj


if __name__ == '__main__':
? ? test = Prototype(Information)
? ? a = test.clone(name='張山', ager="30", height='170cm')
? ? a.run()
? ? b = test.clone(name='李飛', ager="20", height='190cm')
? ? b.run()

到此這篇關(guān)于Python設(shè)計(jì)模式創(chuàng)建型原型模式的文章就介紹到這了,更多相關(guān)Python原型模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python庫(kù)xlsxwriter庫(kù)來輸出各種xlsx文件的示例

    使用python庫(kù)xlsxwriter庫(kù)來輸出各種xlsx文件的示例

    這篇文章主要介紹了使用python庫(kù)xlsxwriter庫(kù)來輸出各種xlsx文件的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實(shí)現(xiàn)合并兩個(gè)有序鏈表的方法示例

    Python實(shí)現(xiàn)合并兩個(gè)有序鏈表的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)合并兩個(gè)有序鏈表的方法,涉及Python操作鏈表節(jié)點(diǎn)的遍歷、判斷、添加等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • openstack中的rpc遠(yuǎn)程調(diào)用的方法

    openstack中的rpc遠(yuǎn)程調(diào)用的方法

    今天通過本文給大家分享openstack中的rpc遠(yuǎn)程調(diào)用的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • Python繪制分類圖的方法

    Python繪制分類圖的方法

    這篇文章主要為大家詳細(xì)介紹了Python繪制分類圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • python 去除txt文本中的空格、數(shù)字、特定字母等方法

    python 去除txt文本中的空格、數(shù)字、特定字母等方法

    今天小編就為大家分享一篇python 去除txt文本中的空格、數(shù)字、特定字母等方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 使用python對(duì)excle和json互相轉(zhuǎn)換的示例

    使用python對(duì)excle和json互相轉(zhuǎn)換的示例

    今天小編就為大家分享一篇使用python對(duì)excle和json互相轉(zhuǎn)換的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng)

    python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Django 序列化的具體使用

    Django 序列化的具體使用

    django rest framework 中的序列化組件,本文主要介紹了Django 序列化的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中

    python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中

    今天小編就為大家分享一篇python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python詞云展示庫(kù)wordcloud配置詳解

    Python詞云展示庫(kù)wordcloud配置詳解

    這篇文章主要介紹了Python詞云展示庫(kù)wordcloud配置詳解,詞云就是將詞語通過圖形可視化的方式,直觀和藝術(shù)的展示出來,詞云在我們的生活中經(jīng)常能夠看到,無論是中文的詞云還是英文的詞云,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

阜宁县| 德惠市| 当阳市| 惠州市| 普宁市| 德江县| 安丘市| 连山| 定西市| 鲁甸县| 新巴尔虎右旗| 寿光市| 汤原县| 南丰县| 洪洞县| 文登市| 个旧市| 塘沽区| 栖霞市| 防城港市| 五河县| 修文县| 红桥区| 阿拉善盟| 鄢陵县| 田林县| 剑川县| 隆回县| 合川市| 灵川县| 临颍县| 安福县| 永德县| 河南省| 永春县| 沂源县| 胶南市| 长宁区| 浮山县| 炎陵县| 南和县|