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
Java和Python创建对象方面有一些相同点,也有一些不同点。 相同点: 1. 使用关键字创建对象:在Java中使用关键字 "new",而在Python中使用关键字 "class"。 2. 实例化对象:无论是Java还是Python,都需要通过实例化来创建对象。在Java中,使用类的构造函数来实例化对象;在Python中,使用类的初始化方法 "__init__" 来实例化对象。 3. 对象属性和方法:在Java和Python中都可以为对象定义属性和方法。 不同点: 1. 类的定义方式:在Java中,类的定义通常是以类名、成员变量和成员方法的形式进行;而在Python中,类的定义通常是以 "class" 关键字、属性和方法的形式进行。 2. 数据类型声明:Java是一种静态类型语言,需要在定义对象时显式声明变量的数据类型;而Python是一种动态类型语言,不需要声明变量的数据类型。 3. 构造函数:在Java中,构造函数与类名相同,并且可以有多个重载形式;而在Python中,构造函数是类的初始化方法 "__init__",只能有一个。 4. 继承机制:Java支持单继承和多实现,即一个类只能继承自一个父类,但可以实现多个接口;Python支持多继承,即一个类可以同时继承自多个父类。 5. 销毁对象:在Java中,对象的销毁由垃圾回收机制自动处理;而在Python中,对象的销毁由解释器通过引用计数机制和垃圾回收机制共同处理。 这些是Java和Python创建对象方面的一些相同与不同之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值