IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python--面向对象 -> 正文阅读

[人工智能]python--面向对象

1. 面向对象的基本介绍

面向过程:根据业务逻辑从上到下写代码。

面向对象:将变量与函数绑定到一起,分类进行封装,每个程序只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码。

面向过程编程
面向过程编程的关注点在于怎么做

把完成某一个需求的 所有步骤 从头到尾 逐步实现
根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数
最后完成的代码,就是顺序地调用 不同的函数
特点:

注重步骤与过程,不注重职责分工
如果需求复杂,代码会变得很复杂
开发复杂项目,没有固定的套路,开发难度很大
面向对象编程
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)和面向过程编程,是两种不同的编程方式。

相比较函数,面向对象是更大的封装,根据职责在 一个对象中封装多个方法

面向对象编程的关注点在于谁来做

在完成某一个需求前,首先确定职责,也就是要做的事情(方法)
根据 职责 确定不同的 对象,在对象内部封装不同的方法(多个)
最后完成的代码,就是顺序地调用不同对象的相应方法。
特点:

注重 对象 和 职责,不同的对象承担不同的职责。
更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路。
?

2. 类和对象


类是对一群具有相同 特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用。

特征其实就是一个变量,在类里我们称之为属性。
行为其实就是一个函数,在类里我们称之为方法。
类其实就是由 属性 和 方法 组成的一个抽象概念。
对象(实例)
对象是由类创建出来的一个具体存在,可以直接使用。由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。在开发中,应该先有类,在类里定义好属性和行为,再根据类来创建对象。

类和对象的关系
类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。
使用同一个类,能够创建出很多对象。
类中定义了什么属性和方法,对象中就有什么属性和方法。
不同对象对应的属性值也会不同。

3. 定义类

class 类名():

????????def 方法1(self,参数列表):

????????????????pass

????????def 方法2(self,参数列表):

????????????????pass

?

4. 创建对象

?

5. 添加和获取对象的属性

?

6. 实例方法通过self获取对象属性

?

7. 魔法方法(__init__)

__init__()方法,在创建一个对象时默认被调用,不需要手动调用

__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

?

8. 魔法方法(__str__)

????????str?如果一个类中定义了__str__方法,在打印对象时,默认输出该方法的返回值,没有定义会返回对象的地址

?

9. 魔法方法(__del__)

????????del?析构方法,删除无用的内存对象(当程序结束会自动自行析构方法)

? ? ? ? 详细解释地址:(2条消息) python的__del__()方法_liuskyter-CSDN博客___del__icon-default.png?t=L892https://blog.csdn.net/liuskyter/article/details/80371344

10. 魔法方法(__doc__)

????????调用__doc__,用于对象的注解(万物皆对象)

? ? ? ? 可以打印出对象内的注解

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:51:15  更:2021-10-07 13:53:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 23:32:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码