测试学习—python(六)
面向对象
面向对象:注重结果,抽象出对象通过调用各种方法去实现(洗衣机)
面向过程:注重解决问题的过程,所有过程都要自己实现(手洗)
类和对象
- 类:抽象概念,多个事务的多个特征和行为相同或者相似事务的统称,类泛指多个而不是具体一个(苹果)
- 对象:具体存在的一个事务,看得见摸得着,特指的(指代一个)(张三嘴⾥正在吃的那个苹果)
- 类是对象的模板,类中可以包含多个对象
类的组成
- 类名(给这多个事务起一个名字,在代码重命名需满足大驼峰命名法即首字母大写)
- 属性(事务的特征)
- 方法(事物的行为)
类的抽象
类的抽象就是找到类的类名,属性和方法
面向代码的步骤
- 定义类,在定义之前设计类
- 创建对象,使用第一步定义的类创建对象
- 通过对象调用方法
面向代码的代码书写
封装
封装即定义类的过程
1. 定义类 class
方法的本质是再类中定义的函数,只不过第一个参数self
class 类名
#
def 方法名(self):
- 创建对象
变量=类名()
- 一个类可以创建多个对象,只要出现 类名()就是创建一个对象,每个对象的地址是不一样的
3.调用方法
对象.方法名()
4.案例
需求:小猫爱吃鱼
class Cat:
def eat(self):
print('爱吃鱼')
def drink(self):
print('爱喝水')
blue_cat=cat()
blue_cat.eat()
blue_cat.drink()
blackcat=cat()
blackcat.eat()
self说明
- 从函数的语法上讲,self是形参
- self是普通形参,但是再调用的时候没有传实参值,原因是,python的解释器再执行代码的时候自动的将调用这个方法的对象传递给了self,self的本质是对象
对象属性操作
在类中self是对象
- 添加属性
- 对象.属性名=属性值
- 类内部添加
self.属性名=属性值
在类中添加属性一般写作__init__方法中
- 获取属性
- 类内部
self.属性名 - 类外部
对象.属性名
魔方方法
- 以__XX__,在满足某个条件的而情况下,会自动调用
__init__方法
- 创建对象后自动调用
- 作用:
- 给对象添加属性
- 某些代码,在每次创建对象之后都要执行,就可以将这行代码写在__init __方法
lass Cat:
#定义添加属性的方法
#__init__(self):创建对象才会调用的方法
def __init__(self,name,age):
self.name=name #添加name属性
self.age=age#添加age属性
#下方代码只是为了验证该方法被调用了
print('我是__init__,我被调用了')
#输出属性信息
def show_info(self):
print(f'小猫的名字是:{
self.name},年龄是:{
self.age}')
#创建对象,不要在自己的类缩进中创建
#Cat()
blue_cat=Cat('蓝猫',2)
blue=blue_cat#这里没有创建对象,引用是相同的所以blue也是对象
blue.show_info()
# 创建黑猫对象
black_cat=Cat('黑猫',2)
__str__方法
- 作用ÿ