美文网首页
07-Python之路-进阶-面向对象-基础

07-Python之路-进阶-面向对象-基础

作者: 程序记录日志 | 来源:发表于2022-04-26 23:21 被阅读0次

特点

面向过程

  • 注重步骤与过程
  • 代码需求复杂,代码会变得很复杂
  • 开发复杂项目,难度大

面向对象

  • 注重对象,不同对象承担不同责任
  • 更加适合应用复杂的需求变化,是专门为应用复杂项目开发
  • 需要在面向过程基础上,在学习面向对象的语法

类和对象

简介

  • 类是一群具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用。特征被称为属性,行为被称为方法
  • 对象是由类创建出来的一个具体存在,可以直接使用。由哪个类创建出来的对象,就拥有哪一个类定义的属性和方法

关系

  • 类是模板,对象是根据类创建出来的,应该先有类,再有对象
  • 类只有一个,对象可以多个,不同对象之间的属性各不相同

类的设计

  • 类名,这类事物的名字
  • 属性,这类事物具备的特征
  • 方法,这类事物具备的行为

类名

  • 定义类的名字

属性

  • 对象的特征描述,通常可以定义成属性

方法

  • 对象具备的行为,通常定义为方法
  • 方法定义的格式和函数几乎一样,区别在于第一参数必须是self

基础语法

类定义格式

class 类名:
    def 方法1(self,参数列表):
        pass
    def 方法2(self,参数列表):
        pass

创建对象

创建对象语法格式

对象变量 = 类名()

方法中的self参数

  • 由哪个对象调用的方法,方法内的self就是哪一个对象的引用
  • 面向对象开发中,引用同样适用
  • 使用类创建对象后,对象的变量中仍然记录的是对象在内存中的地址,也就是对象的变量引用了新建的类对象
  • 在类封装的方法内部,self就表示当前调用方法的对象自己。调用方法时,不需要传递self参数
  • 在方法内部,可以通过self.访问对象的属性,也可以通过self.调用其他的对象方法
  • 在类的外部,通过变量名.访问对象的属性和方法,在类封装的方法中,通过self.访问对象的属性和方法

初始化方法

  • 为对象在内存中分配空间----创建对象

  • 为对象的属性设置初始值-----初始化方法(init)

  • 初始化方法就是__init__方法,__init__是对象的内置方法,__init__方法是专门用来定义一个类具备哪些属性的方法

  • __init__方法内部使用self.属性名 = 属性的初始值就可以定义属性,定义属性后,再使用类创建的对象,都会拥有该属性

内置方法和属性

__del__方法

  • 当使用类名()创建对象时,为对象分配完空间后,自动调用__init__方法,当一个对象被从内存中销毁前,会自动调用__del__方法
  • __init__改造初始化方法,可以让创建对象更加灵活
  • 对象的生命周期,一个对象从调用类名()创建,生命周期开始,一个对象的del方法一旦被调用,生命周期结束,在对象的生命周期内,可以访问对象属性,或者让对象调用方法

__str__方法

  • 如果在开发中,希望使用print输出对象变量时,能够打印自定义内容,就可以利用__str__这个内置方法
  • __str__方法必须返回一个字符串

相关文章

  • 07-Python之路-进阶-面向对象-基础

    特点 面向过程 注重步骤与过程 代码需求复杂,代码会变得很复杂 开发复杂项目,难度大 面向对象 注重对象,不同对象...

  • JS基础到高级

    JS高级-进阶目录======================基础Web API面向对象编程继承函数进阶正则表达式...

  • JavaSE 学习路线图

    面向对象编程基础 JavaFX入门 JDK基础组件的使用 Java函数式编程基础 JavaFX进阶 单元测试与构建...

  • Kotlin 进阶之路 目录

    Kotlin 进阶之路 目录 Kotlin 进阶之路1 基础语法Kotlin 进阶之路2 集合类型Kotlin 进...

  • Python面向对象之访问控制!

    回顾 在Python进阶记录之基础篇(十五)中,我们介绍了面向对象的基本概念以及Python中类和对象的基础知识,...

  • Kotlin 进阶之路4 面向对象

    Kotlin 进阶之路 目录 1.面向对向编程 本质上就是解决如何用程序描述世界的问题 讨论如何把实际存在东西映射...

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • java面向对象----基础进阶01

    1.类:一个Java代码中可以定义多个类,但是只有一个类是用public修饰的,而且public修饰的类名必须成为...

  • 面向对象进阶

    decorotor - 装饰器/包装器 @property装饰器 之前我们讨论过Python中属性和方法访问权限的...

  • 面向对象进阶

    ### 动态添加属性: 1. `对象.属性名=xx`的形式。 2. 通过`setattr(对象,属性名,这个属性对...

网友评论

      本文标题:07-Python之路-进阶-面向对象-基础

      本文链接:https://www.haomeiwen.com/subject/ocqkyrtx.html