Python 初始化方法

1、初始化方法
1.1 之前代码存在的问题 ---- 在类的外部给对象增加属性
将案例代码进行调整,先调用方法 再设置属性,观察一下执行效果。
提示:
在日常开发中,不推荐在 类的外部 给对象增加属性;
如果在运行时,没有找到属性,程序会报错;
对象应该包含有哪些属性,应该 封装在类的内部;

1.2 初始化方法
当使用 **类名()**创建对象时,会 自动 执行以下操作:
1)、为对象在内存中 分配空间 — 创建对象;
2)、为对象的属性 设置初始值 ---- 初始化方法(init);
这个 初始化方法 就是 init 方法,init 是对象的 内置方法
_init_方法是 专门 用来定义一个类 具有哪些属性的方法
在 Cat 中增加 init 方法,验证该方法在创建时会被自动调用;

class Cat:

    def __init__(self):

        print("这是一个初始化方法")

# 使用类名()创建对象的时候,会自动调用初始化方法 _init_
tom = Cat()

1.3 在初始化方法内部定义属性
在_init_ 方法内部使用 self 属性名 = 属性的初始值 就可以 定义属性;
定义属性之后,再使用 Cat 类创建的对象,都会拥有该属性;

class Cat:

    def __init__(self):

        print("这是一个初始化方法")
        self.name = "Tom"

    def eat(self):
        print("%s 爱吃鱼" % self.name)

# 使用类名()创建对象的时候,会自动调用初始化方法 _init_
tom = Cat()

print(tom.name)

1.4 改造初始化方法 – 初始化的同时设置初始值
在开发中,如果希望在 创建对象的同时,就设置对象的属性,可以对_init_方法进行 改造:
1)、把希望设置的属性值,定义成_init_ 方法的参数;
2)、在方法内部使用 self,属性 = 形参 接收外部传递的参数;
3)、在创建对象时,使用 类名(属性1,属性2,…)调用;

Guess you like

Origin blog.csdn.net/weixin_42291376/article/details/121866104