内置方法

亡梦爱人 提交于 2019-12-06 02:48:13

 

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

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

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

 

内置方法如下:

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

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

 

单例模式import settings# 通过classmethodclass 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)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!