面相对象基础语法
目标
●dir 内置函数
●定义简单的类(只包含方法)
●方法中的self 参数
●初始化方法
●内置方法和属性
01.dir内置函数(了解)
●在iPython中对象几乎是无所不在的,我们之前学习的变量、数据、函数都是对象
在Python中可以使用以下两个方法验证:
1.在标识符/数据后输入一个.,然后按下TAB键,iPython 会提示该对象能够调用的方法列表
2.使用内置函数dir传入标识符/数据,可以查看对象内的所有属性及方法
提示方法名, 格式的方法是 Python提供的内置方法/属性, 稍后会给大家介绍一些常用的 内置方法/属性
序号 | 方法名 | 类型 | 作用 |
---|---|---|---|
01 | __ new__ | 方法 | 创建对象时,会被自动调用 |
02 | __ init__ | 方法 | 对象被初始化时,会被自动调用 |
03 | __ del__ | 方法 | 对象被从内存中销毁前,会被自动调用 |
04 | __ str__ | 方法 | 返回对象的描述信息,print 函数输出使用 |
02.定义简单的类(只包含方法)
面向对象是更大的封装,在一个类中封装多个方法,这样通过这个类创建出来的对象,就可以直接调用这些方法了!
2.1定义只包含方法的类
●在Python 中要定义一个只包含方法的类,语法格式如下:
class 类名:
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
- 方法的定义格式和之前学习过的函数几乎一样
- 区别在于第一个参数必须是self,大家暂时先记住,稍后介绍self
注意:类名的命名规则要符合大驼峰命名法
2.2创建对象
●当一个类定义完成之后,要使用这个类来创建对象,语法格式如下:
对象变量=类名()
2.3第一个面向对象程序
需求
●小猫瑷吃鱼,小猫要喝水
分析
1.定义一个猫类Cat
2.定义两个方法eat和drink
3.按照需求——不需要定义属性
Cat |
---|
eat(self) |
drink(self) |
class Cat:
def eat(self):
print("小猫爱吃鱼")
def drink(self):
print("小猫要喝水")
#创建猫对象
tom = Cat()
tom.eat()
tom.drink()
利用self在类封装的方法中输出对象属性
class Cat:
def eat(self):
print("%s 爱吃鱼" %self.name)
def drink(self):
print("%s 要喝水" %self.drink)
#创建猫对象
tom = Cat()
tom.eat()
tom.drink()
3.1 初始化方法
- 当使用类名()创建对象时,会自动执行以下操作:
1.为对象在内存中分配空间——创建对象
2.为对象的属性设置初始值——初始化方法(init) - 这个初始化方法就是__init __方法,__init __是对象的内置方法
__init __方法是专门用来定义一个类具有哪些属性的方法!
在Cat中增加__init __方法,验证该方法在创建对象时会被自动调用
class Cat:
"""这是一个猫类"""
def __init__(self):
print("初始化方法")