Python|Python学习日记(初级篇02面向对象之基础)——黑马程序员视频学习笔记


Python面向对象1/4

  • 一、理解面向对象
  • 二、理解类和对象
    • 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 = 800

3.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 = 800def print_info(self): print(f'洗衣机的宽度是{self.width},高度是{self.height}')haier = Washer() haier.print_info()

4.1.2带参数的__init__()
【Python|Python学习日记(初级篇02面向对象之基础)——黑马程序员视频学习笔记】目的:传参数
class Washer(): def __init__(self, width, height=800): self.width = width self.height = heightdef 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 = heightdef __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 = heightdef __str__(self): return '洗衣机说明书'def __del__(self): print(f'{self}对象已经被删除')haier_temp = Washer(10) print(haier_temp.width) # 10 # 洗衣机说明书对象已经被删除

五、综合应用 5.1烤地瓜 5.2搬家具

    推荐阅读