python元类 与 单例模式

本文探讨了Python中的元类和单例模式。单例模式是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。在实际应用中,如服务器配置管理,单例模式有助于协调系统行为。文章总结了实现单例模式的不同方法。
摘要由CSDN通过智能技术生成

一:元类

# 元类,即函数type(clsName,bases,dict)

# 方式一:
# code = """
# country = 'China'      #局部名字
# def __init__(self,name,age):
#     self.name = name
#     self.age = age
# """
# class_dict = {}
# exec(code,{},class_dict)  #将字符串中的代码产生的全局名字与值放入第二个参数里,局部名字与值放入第三个参数里
# Chinese = type('Chinese',(object,),class_dict)

# 方式二:
def __init__(self,name,age):
    self.name = name
    self.age = age
Chinese = type('Chinese',(),{'__init__':__init__,'country':'China'})

c1 = Chinese('rock',18)
print(c1.name,c1.age,c1.country)
# 定制元类,即定制函数type(clsName,bases,dict)

class MyMeta(type):   # 继承自元类type,重写__new__方法,从而控制类的属性的创建
    def __new__(cls, cls_name,bases,dict):
        attrs = ((key,value) for key,value in dict.it
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值