导航
  • 报考
  • 备考
  • 政策

报考

备考

复习资料

政策

行业动态

分享|进阶Python单例模式学习——使用元类的单例模式

环球网校·2019-10-22 13:27:16浏览15 收藏3

请输入下面的图形验证码

提交验证

预约成功

我知道了
摘要 当今世界充满了各种数据,而python是其中一种的重要组成部分。然而,若想其有所应用,我们需要对这些python理论进行实践。其中包含很多有趣的的过程,然后将其用于某些方面。其中一种就是使用元类的单例模式。今天就来和大家讲讲使用元类的单例模式。

首先我们在了解使用元类的单例模式前,先来看看元类能做的事情:

元类(metaclass)可以控制类的创建过程,它主要做三件事:

拦截类的创建

修改类的定义

返回修改后的类

class Singleton(type):
      _instances = {}
      def __call__(cls, *args, **kwargs):
            if cls not in cls._instances:
                  cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
            return cls._instances[cls]
#Python2
class MyClass(BaseClass):
      __metaclass__ = Singleton
#Python3
class MyClass(BaseClass, metaclass=Singleton):
      pass

优点:使用元类的单例模式是一个真正的类,自动覆盖继承,合理使用了metaclass

缺点:暂无

以上就是使用元类的单例模式。可能在刚讲解完这一实际应用之后,大家的印象还很模糊,不如打开电脑,那正好现在就上手操作一下,试一试吧!也许你还会发现更多python应用为您带来的乐趣环球网校的小编在这里希望这些信息可以对您有所帮助。

资料下载
历年真题
精选课程
老师直播

注册电脑版

版权所有©环球网校All Rights Reserved