⼀. 理解⾯向对象
⼆. 类和对象
""" class 类名(): 代码 """
class Washer(): def wash(self): print('能洗衣服')
class 类名(): 代码
# 对象名 = 类名()
# 创建对象 haier1 = Washer() # <__main__.Washer object at 0x0000018B7B224240> print(haier1) # haier对象调⽤实例⽅法 haier1.wash(
# 类:洗衣机 功能 洗衣服 class Washer(): def wash(self): print('洗衣服') print(self) # 2. 创建对象 haier1 = Washer() # <__main__.Washer object at 0x0000018B7B224240> print(haier1) # haier1对象调⽤实例⽅法 haier1.wash() haier2 = Washer() # <__main__.Washer object at 0x0000022005857EF0> print(haier2) # 由于打印对象和打印self得到的内存地址相同,所以self指的是调用该函数的对象
三. 添加和获取对象属性
print(f'haier1洗⾐机的宽度是{haier1.width}') print(f'haier1洗⾐机的⾼度是{haier1.height}')
self.属性名
class Washer(): def wash(self): print('洗衣服') # 获取实例属性 def print_info(self): # self.属性名 # print(self.width) print(f'洗衣机的宽度是{self.width}') print(f'洗衣机的高度是{self.height}') haier1 = Washer() # 添加属性 haier1.width = 400 haier1.height = 500 # 对象调用实例方法 haier1.print_info()
四. 魔法⽅法
# 目标: 定义init魔法方法设置初始化属性 并访问调用 """ 1. 定义类 init魔法方法: width 和 height 添加实例方法:访问实例属性 2. 创建对象 3. 验证成果 调用实例方法 """ class Washer(): def __init__(self): # 添加实例属性 self.width = 500 self.height = 800 def print_info(self): print(f'洗衣机的宽度是{self.width}') print(f'洗衣机的高度是{self.height}') haier = Washer() haier.print_info()
# 1. 定义类:带参数的init:宽度和高度; 实例方法:调用实例属性 class Washer(): def __init__(self, width, height): self.width = width self.height = height def print_info(self): print(f'洗衣机的宽度是{self.width}, 洗衣机的高度是{self.height}') # 2. 创建对象,创建多个对象且属性值不同;调用实例方法 haier1 = Washer(10, 20) haier1.print_info() haier2 = Washer(100, 200) haier2.print_info()
class Washer(): def __init__(self): self.width = 300 def __str__(self): return '解释说明:类的说明或对象状态的说明' haier = Washer() print(haier)
class Washer(): def __init__(self): self.width = 300 def __del__(self): print('对象已经删除') haier = Washer()