一、理解面向对象二、理解类和对象
2.1理解类和对象2.2面向对象实现方法 三、添加和获取对象属性
3.1类外面添加对象属性3.2类外面获取象属性3.3类里面获取对象属性 四、魔法方法
4.1__init__()
4.1.1体验__init__()4.1.2带参数的__init__() 4.2__str__()4.3__del__() 五、综合应用
5.1烤地瓜5.2搬家具
一、理解面向对象
对于面向过程的思想: 需要实现一个功能的时候,看重的是开发的步骤和过程,每一个步骤都需要自己亲力亲为,需要自己编写代码(自己来做)。开发中小型项目的效率很高。
对于面向对象的思想:当需要实现一个功能的时候,看重的并不是过程和步骤,而是关心谁帮我做这件事(偷懒,找人帮我做)。更加适合用于大型开发场景。
面向对象的三大特征有:封装性、继承性、多态性。(同样这也是C++的三大特征)
二、理解类和对象类与对象的关系:用类去创建对象
2.1理解类和对象类是对一系列具有相同特征和行为的事物的统称,是一个抽象的概念。
特征即是属性–变量行为即是方法–函数 2.2面向对象实现方法
定义类 语法
class 类名():
代码
......
类的命令要符合大驼峰命名习惯
创建对象 语法
对象名 = 类名()
体验
class Washer():
def wash(self):
print('能洗衣服')
haier = Washer()
haier.wash() # 能洗衣服
self指的是调用该函数的对象
class Washer():
def wash(self):
print('wash clothes')
print(self)
haier = Washer()
print(haier)
haier.wash()
# <__main__.Washer object at 0x000002736D2B0190>
# wash clothes
# <__main__.Washer object at 0x000002736D2B0190>
三、添加和获取对象属性
属性即是特征,对象属性在类的内外都能添加与获取。
3.1类外面添加对象属性语法
对象.属性名 = 值
体验
haier1.width = 500 haier1.height = 8003.2类外面获取象属性
语法
对象.属性名
体验
print(f'洗衣机的宽度为{haier1.width}', end=',')
print(f'洗衣机的高度为{haier1.height}')
3.3类里面获取对象属性
语法
self.属性名
体验
class Washer():
def wash(self):
print('洗衣服')
def print_info(self):
print(self.width)
haier1 = Washer()
haier1.width = 500
haier1.height = 800
haier1.print_info()
四、魔法方法
在Python中,_xx_()的函数叫做魔法方法,指的是具有特殊功能的函数。
4.1__init__() 4.1.1体验__init__()__init__()方法的作用:初始化对象。
__init__()方法,在创建对象时默认被调用,不需要手动调用。__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
class Washer():
def __init__(self):
self.width = 500
self.height = 800
def print_info(self):
print(f'洗衣机的宽度是{self.width},高度是{self.height}')
haier = Washer()
haier.print_info()
4.1.2带参数的__init__()
目的:传参数
class Washer():
def __init__(self, width, height=800):
self.width = width
self.height = height
def print_info(self):
print(f'洗衣机的宽度是{self.width},高度是{self.height}')
haier = Washer(500, )
haier.print_info()
4.2__str__()
当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__()方法,那么就会打印从在这个方法中return的数据。
class Washer():
def __init__(self, width, height=800):
self.width = width
self.height = height
def __str__(self):
return '这是海尔洗衣机的说明书!'
haier = Washer(500, )
print(haier) # 这是海尔洗衣机的说明书!
4.3__del__()
当删除对象时,python解释器也会默认调用__del__()方法。和C++简直一毛一样!(虽然是很久之前学的了。)
class Washer():
def __init__(self, width, height=800):
self.width = width
self.height = height
def __str__(self):
return '洗衣机说明书'
def __del__(self):
print(f'{self}对象已经被删除')
haier_temp = Washer(10)
print(haier_temp.width)
# 10
# 洗衣机说明书对象已经被删除
五、综合应用
5.1烤地瓜
5.2搬家具


