标签:obj 产生 code def 容器类 方式 容器 开发 形式
参数1:字符串形式的命令
参数2:全局作用域(字典形式),如果不指定默认就使用globals()
参数3:局部作用域(字典形式),如果不指定默认就使用locals()
g = {‘x‘:1, ‘y‘:2} l = {} exec(‘‘‘ global x,m x = 10 m = 100 z = 3 ‘‘‘, g, l)
1.都可以被引用,x = obj
2.都可以当作函数的参数传入
3.都可以当作函数的返回值
4.都可以当作容器类的元素,l = {func, time, obj, 1}
# 类也是对象 class Foo: pass obj = Foo()
产生类的类称之为元类,默认所有用class定义的类,他们的类是type
# 方法一:class class Chinese: # Chinese = type(...) country = ‘China‘ def __init__(self, name, age): self.name = name self.age = age def talk(self): print(‘%s is talking‘ % self.name) # 方法二:type
class_name = ‘Chinese‘ class_bases = (object,) class_body = ‘‘‘ class Chinese: # Chinese = type(...) country = ‘China‘ def __init__(self, name, age): self.name = name self.age = age def talk(self): print(‘%s is talking‘ % self.name) ‘‘‘ class_dic = {} exec(class_body, globals(), class_dic) print(class_dic) # {‘Chinese‘: <class ‘__main__.Chinese‘>} Chinese = type(class_name, class_bases, class_dic) print(Chinese) # <class ‘__main__.Chinese‘>
标签:obj 产生 code def 容器类 方式 容器 开发 形式
原文地址:https://www.cnblogs.com/Moxiaoyu666/p/11175324.html