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

yipeiwu_com6年前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下解压缩zip文件并删除文件的实例

利用python下载数据,下载下来的数据为zip格式,因为有上千个这样的文件,因此便直接在爬虫程序里加入了解压缩zip文件的内容,并且因为数据量较大,为了节省空间,便在解压缩后立即删除该...

pandas值替换方法

如下所示: import pandas as pd from pandas import * import numpy as np data = Series([1,-999,...

Python模拟简单电梯调度算法示例

Python模拟简单电梯调度算法示例

本文实例讲述了Python模拟简单电梯调度算法。分享给大家供大家参考,具体如下: 经常在公司坐电梯,由于楼层较高,是双联装的电梯,但是经常等电梯很久,经常有人骂写电梯调度算法的。回来闲来...

对python append 与浅拷贝的实例讲解

在做Leetcode的第39题的时候,看到网上一个用递归的解法,很简洁。于是重写了一遍。 class Solution(object): def combinationSum(se...

通过Python模块filecmp 对文件比较的实现方法

filecmp定义了两个函数,用于方便地比较文件与文件夹:     filecmp.cmp(f1, f2[, shallow]):  比较两个文件...