当前位置: 首页 > 后端技术 > Python

Python中什么时候调用面向对象的初始化方法?如何设置初始值?

时间:2023-03-26 17:41:44 Python

1.在类外添加属性——有问题。上一篇文章给类外的对象添加属性有问题。先调整案例代码,观察执行结果:先调用方法,再设置属性给类外的对象添加属性。如果在运行时没有找到该属性,程序将报错。对象包含哪些属性应该封装在类内部。2.初始化方法2.1创建对象时自动调用调用初始化方法当使用类名()创建对象时,解释器会自动执行以下操作:在内存中为对象分配空间--------》创建对象为对象设置属性的初始值------》初始化方法(init)这个初始化方法是__init__方法,__init__是对象的内置方法在python中,__init__方法专门用来定义一个类有哪些属性方法。在Cat中添加__init__方法,验证创建对象时会自动调用该方法:classCat:def__init__(self):print("Thisisaninitializationmethod")#使用classname()创建对象时,会自动调用初始化方法__init__black=Cat()执行结果:2.2在初始化方法里面定义属性Useself.属性名=属性的初始值在__init__方法中定义属性。定义该属性后,使用Cat类创建的任何对象都将具有该属性。classCat:def__init__(self):print("Thisisaninitializationmethod")#self.attributename=属性初始值self.name="Black"defeat(self):print("%s爱吃Cannedfood"%self.name)#使用类名()创建对象时,会自动调用初始化方法__init__black=Cat()print(black.name)black.eat()执行结果:2.3在设置初始值的同时进行初始化在开发中,如果想在创建对象的同时设置对象的属性object,可以修改__init__方法,定义自己要设置的属性值作为__init__方法的参数,在方法内部使用self.attribute=formParameters接收外部传递的参数,创建对象时,使用类名(属性1,属性2...)来调用上面的代码。如果您正在创建一个对象并调用eat(),您仍然喜欢罐头食品。这样name属性是固定的,不能灵活使用,需要修改。修改后的代码如图:在方法中增加一个形参。更多Python面向对象知识点请关注python自学网www.wakey.com.cn