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

Python 單例設計模式用法實例分析

 更新時間:2019年09月23日 11:16:02   作者:houyanhua1  
這篇文章主要介紹了Python 單例設計模式用法,結(jié)合實例形式分析了Python單例模式的具體定義與使用操作技巧,需要的朋友可以參考下

本文實例講述了Python 單例設計模式用法。分享給大家供大家參考,具體如下:

demo.py(單例):

class MusicPlayer(object):
  # 類屬性 記錄對象引用
  instance = None
  def __new__(cls, *args, **kwargs):
    # 1. 判斷類屬性是否是空對象
    if cls.instance is None:
      # 2. 調(diào)用父類的方法,為第一個對象分配空間
      cls.instance = super().__new__(cls)
    # 3. 返回類屬性保存的對象引用
    return cls.instance
# 創(chuàng)建多個對象
player1 = MusicPlayer()
print(player1)
player2 = MusicPlayer()
print(player2)

運行結(jié)果:

<__main__.MusicPlayer object at 0x019558B0>
<__main__.MusicPlayer object at 0x019558B0>

demo.py(__init__初始化方法只執(zhí)行一次):

class MusicPlayer(object):
  # 類屬性 記錄對象引用
  instance = None
  # 標記是否執(zhí)行過初始化動作
  init_flag = False
  def __new__(cls, *args, **kwargs):
    # 1. 判斷類屬性是否是空對象
    if cls.instance is None:
      # 2. 調(diào)用父類的方法,為第一個對象分配空間
      cls.instance = super().__new__(cls)
    # 3. 返回類屬性保存的對象引用
    return cls.instance
  def __init__(self):
    # 1. 判斷是否執(zhí)行過初始化動作
    if MusicPlayer.init_flag:
      return
    # 2. 如果沒有執(zhí)行過,再執(zhí)行初始化動作
    print("初始化播放器")
    # 3. 修改類屬性的標記
    MusicPlayer.init_flag = True
# 創(chuàng)建多個對象
player1 = MusicPlayer()
print(player1)
player2 = MusicPlayer()
print(player2)

運行結(jié)果:

初始化播放器
<__main__.MusicPlayer object at 0x01795B30>
<__main__.MusicPlayer object at 0x01795B30>

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設計有所幫助。

相關(guān)文章

  • Python如何調(diào)用外部系統(tǒng)命令

    Python如何調(diào)用外部系統(tǒng)命令

    這篇文章主要介紹了Python如何調(diào)用外部系統(tǒng)命令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python函數(shù)式編程之面向過程面向?qū)ο蠹昂瘮?shù)式簡析

    Python函數(shù)式編程之面向過程面向?qū)ο蠹昂瘮?shù)式簡析

    這一番我們要學習點有難度的了,因此將降低閱讀與理解難度,盡量采用大白話為你鋪墊,因為涉及的一些概念也是借鑒的其它編程語言的風格,而且實際落地中存在部分爭議不過多學一點,總是沒有壞處的
    2021-09-09
  • Python讀取圖片EXIF信息類庫介紹和使用實例

    Python讀取圖片EXIF信息類庫介紹和使用實例

    這篇文章主要介紹了Python讀取圖片EXIF信息類庫介紹和使用實例,例如Python Imaging Library、EXIF.py等,需要的朋友可以參考下
    2014-07-07
  • python之js逆向功能演示詳解

    python之js逆向功能演示詳解

    這篇文章主要為大家介紹了python之js逆向功能演示詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • LyScript實現(xiàn)對內(nèi)存堆棧掃描的方法詳解

    LyScript實現(xiàn)對內(nèi)存堆棧掃描的方法詳解

    LyScript插件中提供了三種基本的堆棧操作方法,其中push_stack用于入棧,pop_stack用于出棧,peek_stac可用于檢查指定堆棧位置處的內(nèi)存參數(shù)。所以本文將利用這一特性實現(xiàn)對內(nèi)存堆棧掃描,感興趣的可以了解一下
    2022-08-08
  • 如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密

    如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密

    這篇文章主要介紹了如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • python中input()的用法及擴展

    python中input()的用法及擴展

    這篇文章主要介紹了python中input()的用法及擴展,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python 字符串操作實現(xiàn)代碼(截取/替換/查找/分割)

    Python 字符串操作實現(xiàn)代碼(截取/替換/查找/分割)

    這篇文章主要介紹了Python 字符串截取/替換/查找/分割等實現(xiàn)方法,需要的朋友可以參考下
    2013-06-06
  • Python之多進程與多線程的使用

    Python之多進程與多線程的使用

    這篇文章主要介紹了Python之多進程與多線程的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 關(guān)于Python中Flask全局異常處理流程詳解

    關(guān)于Python中Flask全局異常處理流程詳解

    Flask是一個基于Python的Web框架,它提供了全局異常處理的機制來捕獲和處理應用程序中的異常,本文將詳細介紹Flask的全局異常處理,并提供相應的代碼示例,需要的朋友可以參考下
    2023-06-06

最新評論

上高县| 东方市| 特克斯县| 抚松县| 密山市| 湘西| 米易县| 满洲里市| 丹寨县| 定结县| 睢宁县| 瑞金市| 遂宁市| 泸水县| 桑日县| 吴桥县| 通许县| 道真| 桦甸市| 融水| 久治县| 永仁县| 荥阳市| 六盘水市| 庆阳市| 象州县| 波密县| 罗山县| 晋江市| 巴楚县| 保亭| 资中县| 铁岭县| 罗甸县| 浦城县| 库车县| 喀什市| 奉化市| 阿克陶县| 哈密市| 博兴县|