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中创建对象的七种方式相关推荐

  1. 12月18日云栖精选夜读 | Java 中创建对象的 5 种方式!...

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种创建对象的方式,下面给出它们的 ...

  2. Python拼接字符串的七种方式

    ♚ 豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 .公众号Python猫, 专注python技术.数据科学和深度学习,力图创造一个有趣又有用的学习分享平台. 忘了在哪看到一位编程大牛调侃, ...

  3. Java中创建对象的几种方式

    Java中创建对象的几种方式 1.使用new创建对象,在堆上创建. 2.克隆 3.反序列化 4.反射创建对象 5.NIO中可以使用本地方法直接分配堆外内存. 转载于:https://www.cnblo ...

  4. Java中创建对象的四种方式

    为什么80%的码农都做不了架构师?>>>    Java中创建对象的四种方式 (1) 用new语句创建对象,这是最常见的创建对象的方法.    (2) 运用反射手段,调用java.l ...

  5. Python合并字典的七种方式!

    Python有很多高级属性,例如合并字典就有七种方式可以实现.小千今天就来给大家展示一下,避免将来遇到的时候不知道是做什么的,提前了解一下以备不时之需. 1.最简单的原地更新 字典对象内置了一个 up ...

  6. js创建对象的七种方式

    JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也 ...

  7. Java中创建对象的5种方式 -[转] http://www.codeceo.com/article/5-ways-java-create-object.html...

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种创建对象的方式,下面给出它们的 ...

  8. java method 创建_java中创建对象的5种方式

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法. Java中有5种创建对象的方法,下面列出例子还有他们的字节码: 使用n ...

  9. Java中创建对象的5种方式

    转载 https://www.cnblogs.com/wxd0108/p/5685817.html 作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然 ...

最新文章

  1. 浅析网络营销外包中如何实现网络营销外包中的图片推广?
  2. springboot session默认失效时间_Spring Boot 整合 Redis,用起来真简单
  3. 1066 Root of AVL Tree (25 分)【难 / 知识点: 平衡树 未完成】
  4. python观察日志(part4)--字符串拼接方式
  5. php 指定时间之前,php计算给定时间之前的函数用法实例
  6. php查询ip归属地api接口_【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地...
  7. 学习docker on windows (1): 为什么要使用docker
  8. matlab朴素贝叶斯手写数字识别_「深度学习系列」PaddlePaddle之手写数字识别
  9. 性能优化之雅虎35条军规
  10. 设计一款内容阅读app,要求与市面上的产品有差异化,列举其核心功能,画出页面设计原型图(2-3个),说明其产品价值
  11. 中国计算机学会CCF推荐国际学术会议和期刊目录
  12. introduction
  13. 跳过 Windows 11 的联网的方法
  14. Mac键盘锁住了怎么办
  15. 我不敢再哭了,因为我怕自己成为职场上的杨超越
  16. 通过azure学生认证拿到一年服务器使用权
  17. Java核心技术·卷二·第一章笔记
  18. MATLAB音频信号处理(一):函数简易用法(audioread,sound函数)
  19. 鲍尔默最后一次员工大会:声泪俱下别微软
  20. 电脑无线不显示宽带不能连接服务器,电脑上网为什么只显示宽带连接不显示无线网络连接?...

热门文章

  1. Visual Studio下包含多项目的解决方案及项目间引用
  2. Java中浮点数的基础知识
  3. 页面性能的基础因素 - 《Designing for Performance》
  4. 【过程改进】 windows下jenkins常见问题填坑
  5. PowerShell 备份sharepoint站点命令
  6. 文件管理的艺术之SVN从零搭建
  7. SAP内存和ABAP内存的简单介绍说明
  8. java 调用SAP RFC函数错误信息集锦
  9. c语言NULL和0区别
  10. Java开源并行计算组件Multi-Task