黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python 單例設(shè)計(jì)模式用法實(shí)例分析

系統(tǒng) 2337 0

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

demo.py(單例):

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


          

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

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

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

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


          

運(yùn)行結(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ìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論