对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设计】。

相关文章

python3 线性回归验证方法

如下所示: #-*- coding: utf-8 -*- import pandas as pd import numpy as np from patsy.highlevel im...

Python lambda函数基本用法实例分析

本文实例讲述了Python lambda函数基本用法。分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数。 首先,看一下python lambda函数的...

Python实现判断给定列表是否有重复元素的方法

Python实现判断给定列表是否有重复元素的方法

本文实例讲述了Python实现判断给定列表是否有重复元素的方法。分享给大家供大家参考,具体如下: 题目很简单,只是简单温习一个方法,most_common,这是collection模块中...

Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下: 【吐槽】 网上的代码害死人,看着都写的言之凿凿,可运行就是...

python命名空间(namespace)简单介绍

python命名空间(namespace)简单介绍

命名空间: 每一个作用域变量存储的位置,或者解释为 存储作用域中变量的字典。 作用: 获取想查看某个作用域中的变量名、变量值。 使用方法: locals() #当前命名空间 1. 效果图...