标签:空间 分享 obj .com object blank pass 一个 style
http://www.cnblogs.com/linhaifeng/articles/8029564.html
类的类就为元类
元类所需知识
#exec() #参数1:字符串形式的命令 #参数2:全局作用域(字典形式),不指定默认使用全局globals() #参数3:局部作用域(字典形式),不指定默认使用局部locals() g={‘x‘:1, ‘y‘:2} l={} #把exec中代码当一个函数来看待 exec(""" global x,m x=10 m=100 z=3""",g,l) print(g) print(l)
一切皆对象,对象可以怎么来用,共性?
#类也是一个对象 class Foo: pass obj=Foo() print(type(obj)) print(type(Foo))
定义类的方式
#方式一定义类: class Chinese: country=‘China‘ def __init__(self,name,age): self.name=name self.age=age def talks(self): print("%s is talking" % self.name) #方式二定义类: #定义类的三要素 # 类名,类的基类,类的命名空间 class_name=‘Chinese‘ class_base=(object,) class_body=""" country=‘China‘ def __init__(self,name,age): self.name=name self.age=age def talks(self): print("%s is talking" % self.name) """ class_dic={} exec(class_body,globals(),class_dic) Chinese1=type(class_name,class_base,class_dic) print(Chinese) print(Chinese1)
自定义元类来控制类的创建
标签:空间 分享 obj .com object blank pass 一个 style
原文地址:https://www.cnblogs.com/yaya625202/p/8890507.html