【Python教程】七种创建对象的方式,你知道几种?
Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类:
class Bar:def __init__(self,x):print(x)self.x=x
方式一:
传统方式构建,将类对象当成构造器使用
b1=Bar(4)
方式二:
把类名当成参数,使用eval()函数
b2=eval("Bar(1)")
方式三:
使用getattr函数
import sys
b3=getattr(sys.modules[__name__],"Bar")(3)
方式四:
使用globals函数
b4=globals()["Bar"](5)
方式五:
使用自定义函数创建对象
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def make_object(cls,*args,**kwargs):return cls(*args,**kwargs)b5=make_object(Bar,10)
方式六:
原型方式创建
b6=copy.deepcopy(b5)
b6.x=9
方式七:
使用__class__
创建,使用新参数创建对象
b7=b1.__class__(11) #__class__查看对象所在的类b1.__class_查看b1的类就是Bar
【Python教程】七种创建对象的方式,你知道几种?相关推荐
- 【python教程入门学习】Python函数定义及传参方式详解(4种)
这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...
- java中几种创建对象的方式
java中几种创建对象的方式 在java程序中,对象可以被显式地或者隐式地创建. 下面说说四种显式的创建对象的方式: ● 用new语句创建对象 ● 运用反射手段,调用java.la ...
- 012-Java有几种文件拷贝方式?哪一种最高效?
我在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分. 今天我要问你的问题是,Java 有几种文件拷贝方式?哪一种最高 ...
- Java有几种文件拷贝方式?哪一种最高效?
第12讲 | Java有几种文件拷贝方式?哪一种最高效? 我在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分. 今天 ...
- LVS:三种负载均衡方式比较+另三种负载均衡方式
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- python教程七牛云_通过Python来使用七牛云存储的方法详解
本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作. 安装 首先,要使用Python的SDK必须要先安装.七牛的Python SDK是开源的,托管在Githu ...
- python输入的方式有几种_Python输入方式具体的三种实现方式
Python输入方式一个很多人都关心的问题,其实在实际中最实用的有三种输入方式.下面我们就来看看Python输入方式的具体办法.希望大家有所收获,只有这样才能更好的进行推广. 1.文件方式 将复制的代 ...
- python教程七牛云_使用Python实现数据从七牛云到阿里云的自动化迁移
工具python3.5 顺手的IDE(轻量级推荐vscode) qiniu/qshell (本文是基于 mac 系统开发,所以使用 qshell 的 mac 版本,读者请根据自己的系统下载,也可以直接 ...
- java在创建对象时必须_Java中5种创建对象的方式
以下是一些在Java中创建对象的方法: 1. 使用new关键字 使用new关键字是创建对象的最基本方法.这是在java中创建对象的最常见方法.几乎99%的对象都是这样创建的.通过使用这个方法,我们可以 ...
最新文章
- Java项目:平行志愿管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)
- 一个阿里P7的自白:一念之差,我差点转了产品
- HDU4587(割点+最大连通分量)
- ural(Timus) 1463. Happiness to People!
- GitHub 中文排行榜,高分优秀中文项目一网打尽!
- 机器学习 量子_量子机器学习:神经网络学习
- Mysql 数据库字符集转换及版本升级/降级的详细教程
- Unity3D动画面板编辑器状态属性对照表
- 恶意软件针对中国用户 试图攫取用户账户和密码
- Element UI el-table 表格多选的使用
- Docker核心技术与实现原理
- Excel 点击单元格打钩,再点击取消
- 无线WIFI网速慢的原因及解决方法
- 那年我们也曾高三——纪录片《高三》真实记录高三生活
- 用友系统中连接数据库服务器失败,用友u8服务器连接不到本地数据库
- 计算机内存容量影响游戏的吗,内存容量对整机游戏性能影响到底有多大
- 为什么百兆网卡只能传输速度只能为10M/s
- c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...
- 转载:解决采集UTF-8网页空格变成问号乱码
- Linux ls -l 名:命令详解
热门文章
- NSOperation的使用细节 [1]
- CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维
- 检测某个IP是否属于某个网段范围
- IOS的消息传递机制,使用NSNotificationCenter进行通信,很实用
- Delphi编写事件模型客户端(2)
- e3 1231 v3 达芬奇_黑苹果E3-1231-V3 + Z97-HD3+GTX960安装High Sierra10.13.6
- 【ABAP】Smartforms无法打印特殊字符问题处理方案
- 【PM模块】维护业务处理流程—内部维护(通知单)
- php7-sapnwrfc
- Field XXXX input value is longer than screen field-BDC