01 dir 内置函数
在python中对象无处不在,像 变量、数据、函数 都是对象。class Cat:

使用内置函数 dir 传入 标识符/数据 ,可以查看对象内的所有属性及方法。

02 定义简单的类(只包含方法)

图片说明
注意:

  • 类名的命名规则 要符合大驼峰命名法
  • 方法的定义格式和之前学过的函数几乎一模一样,区别是方法第一个参数必须是 self。
    所谓方法,就是定义在类内部的函数。

03 创建对象

语法格式 : 对象变量 = 类名()

第一个面向对象的程序:
需求:
小猫爱吃鱼,小猫爱喝水
分析:
1、定义一个猫类 Cat
2、定义两个方法 eat和 drink
3、按照需求——不需要定义属性
代码:

class Cat:
    def eat(self):
        print("小猫爱吃鱼")
    def drink(self):
        print("小猫爱喝水" )

tom = Cat()

tom.eat()
tom.drink()

案例改造——给对象增加属性
在 python 中,要给对象设置属性,非常容易,但是不推荐使用。(因为容易出现的一个问题是 在运行时没有找到响应属性(比如写到了下一行)程序会报错,对象属性的封装应该封装在类的内部)
只需要 在类的外部代码中 直接通过 . 设置一个属性即可

tom = Cat()
tom.name = "tom"

05 self 的使用

由哪一个对象 调用的方法,方法内的 self 参数 就是哪一个对象的引用。

  • 调用方法时,程序员不需要传递 self 参数
  • 在方法内部:
    可以通过 self .访问对象的属性
    也可以通过 self. 调用其他对象的方法

06 在初始化方法内部定义属性

当使用 类名() 创建对象时,会 自动执行 以下操作:
1、为对象在内存中分配空间——创建对象
2、为对象的属性 设置初始值——自动调用初始化方法 _init _(这是python的内置方法)
__init
_方法是 专门用来定义一个类 具有哪些属性的方法。该方法在创建对象时会被自动调用

3、在 _init _方法内部使用 self.属性名 = 属性的初始值 就可以定义属性
4、这样定义属性之后,再使用 Cat 类创建的对象,都会拥有该属性。

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

08 内置方法和属性

1、_del_方法:当一个对象被从内存中销毁前,会自动调用。回顾 __init _方法是 当使用类名( )创建对象时,为对象分配完内存空间后自动调用的方法。

  • 应用场景:
    _init _方法 改造初始化方法,可以让创建对象更加灵活
    __del_方法 如果希望在对象被销毁前,再做一些事情,可以考虑改写这个方法。
    一个对象的生命周期 就是在这两个内置方法自动调用之间。

2、_str _ 方法:在python中,使用print 输出对象变量,默认情况下会输出这个变量引用的对象 是由哪一个类创建的对象,以及在内存中的地址(十六进制表示)

  • 应用场景:
    如果在开发中,希望使用print 输出对象变量时,能够打印自定义的内容,就可以利用重写_ str _ 方法了。
    注意:_str _ 方法必须返回一个字符串