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

python單例模式實(shí)例解析

 更新時(shí)間:2018年08月28日 15:55:58   作者:屈逸  
這篇文章主要為大家詳細(xì)介紹了python單例模式實(shí)例的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python單例模式的具體代碼,供大家參考,具體內(nèi)容如下

多次實(shí)例化的結(jié)果指向同一個(gè)實(shí)例

單例模式實(shí)現(xiàn)方式

方式一:

import settings

class MySQL:
  __instance = None

  def __init__(self, ip, port):
    self.ip = ip
    self.port = port

  @classmethod
  def from_conf(cls):
    if cls.__instance is None:
      cls.__instance = cls(settings.IP,settings.PORT)
    return cls.__instance

obj1 = MySQL.from_conf()
obj2 = MySQL.from_conf()
obj3 = MySQL.from_conf()
print(obj1)
print(obj2)
print(obj3)

方式二:

import settings

def singleton(cls):
  _instance = cls(settings.IP, settings.PORT)

  def wrapper(*args, **kwargs):
    if args or kwargs:
      obj = cls(*args, **kwargs)
      return obj
    return _instance

  return wrapper

@singleton
class MySQL:
  def __init__(self, ip, port):
    self.ip = ip
    self.port = port

obj1 = MySQL()
obj2 = MySQL()
obj3 = MySQL()
print(obj1)
print(obj2)
print(obj3)

方式三:

import settings

class Mymeta(type):
  def __init__(self, class_name, class_bases, class_dic):
    self.__instance = self(settings.IP, settings.PORT)

  def __call__(self, *args, **kwargs):
    if args or kwargs:
      obj = self.__new__(self)
      self.__init__(obj, *args, **kwargs)
      return obj
    else:
      return self.__instance

class MySQL(metaclass=Mymeta):
  def __init__(self, ip, port):
    self.ip = ip
    self.port = port

obj1 = MySQL()
obj2 = MySQL()
obj3 = MySQL()
print(obj1)
print(obj2)
print(obj3)

方式四:

def f1():
  from singleton import instance
  print(instance)

def f2():
  from singleton import instance,MySQL
  print(instance)
  obj = MySQL('1.1.1.1', '3389')
  print(obj)

f1()
f2()


singleton.py文件里內(nèi)容:
import settings

class MySQL:
  print('run...')

  def __init__(self, ip, port):
    self.ip = ip
    self.port = port

instance = MySQL(settings.IP, settings.PORT)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 實(shí)現(xiàn)加密過(guò)的PDF文件轉(zhuǎn)WORD格式

    Python 實(shí)現(xiàn)加密過(guò)的PDF文件轉(zhuǎn)WORD格式

    這篇文章主要介紹了Python 實(shí)現(xiàn)加密過(guò)的PDF文件轉(zhuǎn)WORD格式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 用Python解決計(jì)數(shù)原理問(wèn)題的方法

    用Python解決計(jì)數(shù)原理問(wèn)題的方法

    計(jì)數(shù)原理是數(shù)學(xué)中的重要研究對(duì)象之一,分類(lèi)加法計(jì)數(shù)原理、分步乘法計(jì)數(shù)原理是解決計(jì)數(shù)問(wèn)題的最基本、最重要的方法,也稱(chēng)為基本計(jì)數(shù)原理,它們?yōu)榻鉀Q很多實(shí)際問(wèn)題提供了思想和工具。本文教大家怎么用Python解決在數(shù)學(xué)中遇到的計(jì)數(shù)原理問(wèn)題。
    2016-08-08
  • Python 3.9的到來(lái)到底是意味著什么

    Python 3.9的到來(lái)到底是意味著什么

    本文主要介紹Python3.9的一些新特性比如說(shuō)更快速的進(jìn)程釋放,性能的提升,簡(jiǎn)便的新字符串函數(shù),字典并集運(yùn)算符以及更兼容穩(wěn)定的內(nèi)部API,感興趣的朋友跟隨小編一起看看吧
    2020-10-10
  • Pandas庫(kù)中iloc[]函數(shù)的使用方法

    Pandas庫(kù)中iloc[]函數(shù)的使用方法

    在數(shù)據(jù)分析過(guò)程中,很多時(shí)候需要從數(shù)據(jù)表中提取出相應(yīng)的數(shù)據(jù),而這么做的前提是需要先“索引”出這一部分?jǐn)?shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas庫(kù)中iloc[]函數(shù)的使用方法,需要的朋友可以參考下
    2023-01-01
  • python通用讀取vcf文件的類(lèi)(復(fù)制粘貼即可用)

    python通用讀取vcf文件的類(lèi)(復(fù)制粘貼即可用)

    這篇文章主要介紹了python通用讀取vcf文件的類(lèi)(可以直接復(fù)制粘貼使用) ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python使用numpy實(shí)現(xiàn)直方圖反向投影示例

    python使用numpy實(shí)現(xiàn)直方圖反向投影示例

    今天小編就為大家分享一篇python使用numpy實(shí)現(xiàn)直方圖反向投影示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場(chǎng)景示例

    Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場(chǎng)景示例

    這篇文章主要為大家介紹了Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場(chǎng)景示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python中的min及返回最小值索引的操作

    Python中的min及返回最小值索引的操作

    這篇文章主要介紹了Python中的min及返回最小值索引的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • Python hashlib模塊加密過(guò)程解析

    Python hashlib模塊加密過(guò)程解析

    這篇文章主要介紹了Python hashlib模塊加密過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 基于python制作簡(jiǎn)易版學(xué)生信息管理系統(tǒng)

    基于python制作簡(jiǎn)易版學(xué)生信息管理系統(tǒng)

    這篇文章主要介紹了基于python制作簡(jiǎn)易版學(xué)生信息管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04

最新評(píng)論

寿宁县| 醴陵市| 陈巴尔虎旗| 武清区| 镶黄旗| 通河县| 昌平区| 临颍县| 乌兰察布市| 富蕴县| 北宁市| 安溪县| 长治市| 桃园县| 阜城县| 上栗县| 安新县| 六安市| 托里县| 锡林郭勒盟| 裕民县| 商南县| 翼城县| 鹤峰县| 松滋市| 都昌县| 安化县| 宁都县| 鄱阳县| 鄂尔多斯市| 申扎县| 安吉县| 越西县| 铁力市| 宜兰县| 仪征市| 黔南| 长沙市| 长兴县| 柞水县| 竹溪县|