先定义一个类:
class Point: def __init__(<a href="https://www.gaodaima.com/tag/self" title="查看更多关于self的文章" target="_blank">self</a>, x, y): self.x = x self.y = y
www#gaodaima.com来源gao!daima.com搞$代!码网搞代码
下面我们使用9种方法来生成新的对象:
<a href="https://www.gaodaima.com/tag/point" title="查看更多关于point的文章" target="_blank">point</a>1 = 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模块·
来源:搞代码网:原文地址:https://www.gaodaima.com