python面向对象(一) 最后更新时间:2021年03月04日 ## 面向对象介绍 面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想。 需要注意的是,与之对应的是面向过程编程思想。实际上,能够使用面向对象编程思想实现的程序,也都能通过面向过程完成。只是看哪种思想更适合当前开发需求。 ### 面向过程与面向对象区别: - 面向过程:根据业务逻辑从上到下写代码。 - 面向对象:将数据与函数绑定到一起,进行封装。减少重复代码的重写过程。 ### 类 类是抽象的概念,仅仅是模板。用来描述具有相同属性和方法的对象的集合。 比如:"人"是一个类。 #### 类由3个部分构成: - 类的名称:类名 - 类的属性:一组数据 - 类的方法:允许对类进行操作的方法 #### 类的定义 Python 使用 class 关键字来定义类,其基本结构如下: ```python class MyClass: pass ``` 注意:类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用。 ### 对象 某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。 比如:"胡歌 "就是一个对象。 #### 创建对象 python 中,可以根据已经定义的类去创建出一个个对象。 示例: ```python class MyClass: pass mc = MyClass() # 创建对象 ``` ### self参数 - self 本身是形参 - self 就是对象本身 示例: ```python class Action: def kirito(self): print(self) a = Action() print(a) a.kirito() # ==> 两个输出结果相同 ``` ### __init__()方法 __init__() 方法称为 初始化方法,也可称为构造方法。在创建对象时,会自动 执行该方法,为对象的属性设置初始值。 示例: ```python class Action: def __init__(self): print("输出结果:") def kriti(self): print("kirito") a = Action() # ==> 创建时会返回__init__()中的值,返回出输出结果: a.krito() # ==> 返回值为kirito ``` ### 注意: · 在__init__()中写入的属性,可以直接在创建对象后使用和修改。 · 在自定义方法中写入的属性,需要先调用该方法,才能再进行使用和修改。 ### __str__()方法: 如果在开发中,希望打印输出对象变量时,能够打印自定义的内容。就可以 使用 __str__() 方法,将自定义内容通过 return 关键字返回。 示例: ```python class Action: def __init__(self): self.name = "kirito" def __str__(self): return self.name a = Action() print(a) # ==> 返回值为kirito ``` ```python class Action: def __init__(self): self.name = "kirito" self.age = 19 def __str__(self): return f"{self.name},{self.age}" a = Action() print(a) # ==> 返回值为kirito,19 ``` 注意:返回值必须是字符串。 示例: ```python class Action: def __init__(self): self.name = "kirito" self.age = 9 def __str__(self): return self.age a = Action() print(a) # ==> 报错,因为self.age不是字符 ``` ```python class Action: def __init__(self): self.name = "kirito" self.age = 9 def __str__(self): return self.age,self.name a = Action() print(a) # ==> 报错,因为return后面接多个数据,会返回元组,不是字符串。 ```
Comments | NOTHING