zoukankan      html  css  js  c++  java
  • 单例模式【python】

      在python中,如需让一个类只能创建一个实例对象,怎么能才能做到呢?

      思路:1.通过同一个类创建的不同对象,都让他们指向同一个方向。

           2.让个类只能创建唯一的实例对象。

      方法:用到 _ _new_ _ 方法

      '''定义一个类'''

      让这个类自己通过new方法创建一个对象

      并在每次创建对象时进行判断,如果变量 实例对象 没有 那就创建,否则指向已创建单例对象

       代码示例:

    # coding=utf-8
    class CarFactory(object):
      """定义一个汽车厂类"""
      __first_new = True    # 定义一个变量 首次创建 为真
      __instance = None    # 定义一个变量 单例对象 没有

      def __new__(cls):
      """定义一个__new__方法"""
      if cls.__first_new:               # 如果变量:首次创建 为真
        cls.__instance = object.__new__(cls)      # 则创建当前实例对象 cls.__instance 指向 object.__new__(cls)
        cls.__first_new = False          # 创建完一个对象后让他为 False
        return cls.__instance            # 返回创建的实例对象
      else:
        return cls.__instance            # 如果变量:首次创建 为False 直接返回上一次实力对象

    feng_tian = CarFactory()
    da_zhong = CarFactory()
    print(feng_tian)
    print(da_zhong)

    输出:

    指向同一个方向

  • 相关阅读:
    263邮箱配置告警发件配置
    交换机日期时间设置
    【Switch】- 配置日志文件输出syslog信息
    网络设备断电注意事项
    H3C交换机保存机制
    Docker学习笔记
    小型网络组网模型讲解
    Linux下管理员强行踢出用户的命令使用方法
    Linux SNMP 监控一些常用OID
    MySQL解决方案
  • 原文地址:https://www.cnblogs.com/zhuchen/p/6959438.html
Copyright © 2011-2022 走看看