控制类及其调用过程
Posted wangcheng9418
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制类及其调用过程相关的知识,希望对你有一定的参考价值。
class Mymeta(type):
def __init__(self,class_name,class_bases,class_dic):
#控制类Foo的创建
super(Mymeta,self).__init__(class_name,class_bases,class_dic)
def __call__(self, *args, **kwargs):
#控制Foo的调用过程,即Foo对象的产生过程
obj = self.__new__(self)
self.__init__(obj, *args, **kwargs)
obj.__dict__={‘_%s__%s‘ %(self.__name__,k):v for k,v in obj.__dict__.items()}
return obj
class Foo(object,metaclass=Mymeta): # Foo=Mymeta(...)
def __init__(self, name, age,sex):
self.name=name
self.age=age
self.sex=sex
obj=Foo(‘egon‘,18,‘male‘)
print(obj.__dict__)
以上是关于控制类及其调用过程的主要内容,如果未能解决你的问题,请参考以下文章