python生成对象的9种方法
class Point:
def __init__(self,x,y):
self.x = x
self.y = y
import sys
import copy
import types
point1 = Point(1,2)
point2 = eval("{}({},{})".format("Point",1,2))
point3 = globals()['Point'](1,2)
point4 = locals()["Point"](1,2)
point5 = getattr(sys.modules[__name__],"Point")(1,2)
point6 = copy.deepcopy(point1)
point7 = point1.__class__(1,2)
point8 = type('Point',(Point,),{})(1,2)
point9 = types.new_class('Point',(Point,),{})(1,2)
bs:补充内容
type()方法
tpye(name, bases, dict)
name 类名
bases 父类的元组
dict 类的属性方法和值组成的键值对
返回一个类对象:
__class__方法
__class__功能和type()函数一样,都是查看对象所在的类。