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

python單例模式實例解析

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

本文實例為大家分享了python單例模式的具體代碼,供大家參考,具體內容如下

多次實例化的結果指向同一個實例

單例模式實現(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文件里內容:
import settings

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python 實現(xiàn)加密過的PDF文件轉WORD格式

    Python 實現(xiàn)加密過的PDF文件轉WORD格式

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

    用Python解決計數(shù)原理問題的方法

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

    Python 3.9的到來到底是意味著什么

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

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

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

    python通用讀取vcf文件的類(復制粘貼即可用)

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

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

    今天小編就為大家分享一篇python使用numpy實現(xiàn)直方圖反向投影示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python PyAutoGUI實現(xiàn)自動化任務應用場景示例

    Python PyAutoGUI實現(xiàn)自動化任務應用場景示例

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

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

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

    Python hashlib模塊加密過程解析

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

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

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

最新評論

上栗县| 和平区| 遂宁市| 西乡县| 嵊州市| 彭阳县| 乌拉特中旗| 贡山| 洞头县| 丽江市| 双柏县| 中宁县| 恩平市| 江口县| 磴口县| 油尖旺区| 普兰店市| 延津县| 江西省| 乐安县| 津市市| 宁阳县| 陈巴尔虎旗| 枝江市| 鸡西市| 开原市| 保亭| 兴业县| 如东县| 张掖市| 临沂市| 拉萨市| 汶上县| 大化| 安西县| 松阳县| 红原县| 巴彦县| 石嘴山市| 临汾市| 岳阳市|