zoukankan      html  css  js  c++  java
  • 内置方法

    类的内置方法(魔法方法):

    凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,也称之为魔法方法。

    类的内置方法,会在某种条件满足下自动触发。

    内置方法如下:

    __new__:在__init__触发前,自动触发。调用该类时,内部会通过__new__产生一个新的对象。

    __init__:在调用类时自动触发。通过产生的对象自动调用__init__()




    单例模式

    import settings


    # 通过classmethod
    class MySQL:

    # 一个默认值,用于判断对象是否存在, 对象不存在证明值是None
    # __instance是类的属性,可以由类来调用
    __instance = None # ---》 执行到代码的57行 ---》 obj
    # __instance = obj

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

    @classmethod
    def singleton(cls, host, port): # 单例方法 ---》 类方法

    # 判断__instance中若没有值,证明没有对象
    if not cls.__instance:
    # 产生一个对象并返回
    obj = cls(host, port)
    # None ---> obj
    cls.__instance = obj

    # 若__instance中有值,证明对象已经存在,则直接返回该对象
    return cls.__instance

    def start_mysql(self):
    print('启动mysql')

    def close(self):
    print('关闭mysql')


    obj1 = MySQL.singleton(settings.HOST, settings.PORT)
    print(obj1)
    obj2 = MySQL.singleton(settings.HOST, settings.PORT)
    print(obj2)
  • 相关阅读:
    视频输入 范例
    视频输出 范例
    开启VI视频输入设备 范例
    初始化MMP系统 范例
    Git 的使用
    DVS/DVR/NVR/XVR
    shell命令中 && 和 || 的区别
    码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清
    DNS与DSN
    ob_start()失效与phpunit的非正常结束
  • 原文地址:https://www.cnblogs.com/medigrat/p/11957969.html
Copyright © 2011-2022 走看看