Python中9种生成新对象的方法

来源:互联网 发布:mac删除桌面文件 编辑:程序博客网 时间:2024/06/18 14:39

先定义一个类:

class Point:    def __init__(self, x, y):        self.x = x        self.y = y

下面我们使用9种方法来生成新的对象:

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)

PS: 需要导入sys和types模块

原创粉丝点击