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

yipeiwu_com5年前Python基础

先定义一个类:

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模块

以上这篇对Python中9种生成新对象的方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python正则表达式re模块

正则是处理字符串最常用的方法,我们编码中到处可见正则的身影。 正则大同小异,python 中的正则跟其他语言相比略有差异: 1、替换字符串时,替换的字符串可以是一个函数 2、split...

Django中自定义查询对象的具体使用

自定义查询对象 - objects ①声明一个类EntryManager,继承自models.Manager,并添加自定义函数 ②使用创建的自定义类EntryManager 覆盖Mo...

python随机在一张图像上截取任意大小图片的方法

如下所示: ''' 机器学习中随机产生负样本的 ''' import cv2 import random #读取图片 img=cv2.imread('1.png') #h...

Python基于递归实现电话号码映射功能示例

本文实例讲述了Python基于递归实现电话号码映射功能。分享给大家供大家参考,具体如下: 问题 电话按键上面的每个数字都对应着几个字母,如果按下一个数字键代表输入一个字母,那么输入一个数...

python实现可变变量名方法详解

如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做? 在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,...