欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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>

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

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

相關文章

  • 詳解如何使用Python實現(xiàn)復制粘貼的功能

    詳解如何使用Python實現(xiàn)復制粘貼的功能

    pandas?里面有一個?pd.read_clipboard?函數(shù),可以根據(jù)你復制的內(nèi)容生成DataFrame。本文就利用這個函數(shù)實現(xiàn)復制粘貼的功能,感興趣的可以了解一下
    2023-01-01
  • python多進程及通信實現(xiàn)異步任務的方法

    python多進程及通信實現(xiàn)異步任務的方法

    這篇文章主要介紹了python多進程及通信實現(xiàn)異步任務需求,本人也是很少接觸多進程的場景,對于python多進程的使用也是比較陌生的。在接觸了一些多進程的業(yè)務場景下,對python多進程的使用進行了學習,覺得很有必要進行一個梳理總結(jié),感興趣的朋友一起看看吧
    2022-05-05
  • python使用tkinter調(diào)整label背景顏色的測試

    python使用tkinter調(diào)整label背景顏色的測試

    這篇文章主要介紹了python使用tkinter調(diào)整label背景顏色的測試方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python爬取王者榮耀全皮膚的簡單實現(xiàn)代碼

    python爬取王者榮耀全皮膚的簡單實現(xiàn)代碼

    在本篇文章里小編給大家分享的是一篇關于16行python代碼 爬取王者榮耀全皮膚的知識點內(nèi)容,有興趣的朋友們學習下。
    2020-01-01
  • 對numpy中向量式三目運算符詳解

    對numpy中向量式三目運算符詳解

    今天小編就為大家分享一篇對numpy中向量式三目運算符詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python學習之字典的創(chuàng)建和使用

    Python學習之字典的創(chuàng)建和使用

    這篇文章主要為大家介紹了Python中的字典的創(chuàng)建與使用,包括使用字典(添加、刪除、修改等操作),感興趣的小伙伴可以跟隨小編一起學習一下
    2022-06-06
  • Python ollama的搭建與使用流程分析

    Python ollama的搭建與使用流程分析

    這篇文章主要介紹了Python ollama的搭建與使用流程分析,詳細介紹了ollama的安裝方式,本文結(jié)合實例給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • python numpy 一維數(shù)組轉(zhuǎn)變?yōu)槎嗑S數(shù)組的實例

    python numpy 一維數(shù)組轉(zhuǎn)變?yōu)槎嗑S數(shù)組的實例

    今天小編就為大家分享一篇python numpy 一維數(shù)組轉(zhuǎn)變?yōu)槎嗑S數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • plt.figure()參數(shù)使用詳解及運行演示

    plt.figure()參數(shù)使用詳解及運行演示

    這篇文章主要介紹了plt.figure()參數(shù)使用詳解及運行演示,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • kafka監(jiān)控獲取指定topic的消息總量示例

    kafka監(jiān)控獲取指定topic的消息總量示例

    今天小編就為大家分享一篇kafka監(jiān)控獲取指定topic的消息總量示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論