- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档仅供参考
PAGE 1
?
本教程通过示例概述了 Python 中的面向对象编程 (OOP)。这是一个分步指南,专为没有编程经验的人设计。面向对象编程很流行,除了 Python 之外,还可以使用其他编程语言,如 Java、C++、PHP。
目录
什么是面向对象编程?
数据科学家使用面向对象编程吗?
基础知识:Python 中的 OOP
对象和类
构造函数
变量
方法
遗产
多态性
方法重写
方法重载
什么是__str__?
数据封装
Getter 和 Setter
如何导入类
什么是 __name__ == __main__?
锻炼
什么是面向对象编程?
在面向对象编程 (OOP) 中,您可以灵活地在代码中表示现实世界的对象,如汽车、动物、人、ATM 等。简单来说,物体就是具有一定特征、能够执行一定功能的东西。例如,汽车是一个物体,可以执行启动、停止、驱动和制动等功能。这些都是汽车的功能。特征是汽车的颜色、里程、最高速度、车型年份等。
在上面的例子中,car 是一个object.?在 OOP 世界中调用函数methods。特点是attributes (properties)。从技术上讲,属性是与对象状态相关的变量或值,而方法是影响对象属性的函数。
在Python中,一切都是对象。字符串、整数、浮点、列表、字典、函数、模块等都是对象。
数据科学家使用面向对象编程吗?
这是数据科学家在学习 OOP 之前最常见的问题之一。当涉及到使用 Python 进行数据操作和机器学习时,通常建议学习pandas、numpy、matplotlib、 scikit-learn 库。这些库由经验丰富的 Python 开发人员编写,用于自动化或简化与数据科学相关的大多数任务。所有这些库都依赖于 OOP 及其概念。例如,您正在使用 scikit-learn 库构建回归模型。您首先必须将模型声明为对象,然后使用 fit 方法。如果不了解 OOP 的基础知识,您将无法理解为什么以这种方式编写代码。
在Python中,主要有3种编程风格,即面向对象编程、函数式编程和过程式编程。简单来说,Python 中有 3 种不同的方法来解决这个问题。函数式编程因其性能优势而在数据科学家中最受欢迎。当您使用大型代码库并且代码可维护性非常重要时,OOP 非常有用。
结论:学习 OOP 基础知识很有好处,这样您就可以了解所使用的库背后的原理。如果你的目标是成为一名优秀的 Python 开发人员并想要构建 Python 库,你需要学习 OOP(必须!)。与此同时,有许多数据科学家不了解 OOP 概念,但仍然在工作中表现出色。
基础知识:Python 中的 OOP
在本节中,我们将详细了解 Python 中与 OOP 相关的概念。
对象和类
类是对象的架构。它是对类的属性和方法的正确描述。例如,同一类型的汽车的设计是一个类。您可以从一个类创建许多对象。就像您可以通过设计汽车来制造许多相同类型的汽车一样。
?
编辑
?
编辑
有许多真实世界的类示例,如下所述 -
煎蛋卷的食谱是一类。煎蛋卷是一个对象。
银行账户持有人是一个类。属性有名字、姓氏、出生日期、职业、地址等。方法可以是“更改地址”、“更改职业”、“更改姓氏”等。“更改姓氏”一般适用于女性结婚后更改姓氏
狗是一个类。属性包括品种、腿数、大小、年龄、颜色等。方法可以是吃、睡、坐、吠、跑等。
在Python中,我们可以使用关键字创建一个类class。类的方法可以通过关键字定义def。它与普通函数类似,但它是在类中定义的,并且是类的函数。方法定义中的第一个参数始终为self,并且在没有该参数的情况下调用方法self。
示例 1:创建汽车类
class: 车
attributes:年份、英里数和速度
methods:加速和制动
object: 汽车1
class?: car
attributes?: year, mpg and speed
methods?: accelerate and brake
object?: car1
车类:
# 属性
Year = 2016 # 车型年份
mpg = 20 # 里程
speed = 100 # 当前速度
# 方法
def 加速(自身):
回程车速度+20
默认制动(自制动):
返回车速 - 50
class car:
# attributes
year = 2016 # car models year
mpg = 20 # milea
您可能关注的文档
- 人教版五年级上册知识清单.docx
- 给排水工程污水处理与处置:废物稳定池或池(氧化池、泻湖)特点、施工、优点、缺点.docx
- 人教版二年级数学上册知识点.docx
- 人教版二年级数学上册知识点汇总.docx
- 微信小程序注册认证流程.docx
- 微信小程序注册认证流程图.docx
- 海南省海口市2022-2023学年高一下学期期末考试生物试卷.docx
- 批量删除多个Word文档的页眉页脚.docx
- 乡镇档案工作办法.docx
- 贵州省遵义市2022-2023学年高一下学期期中考试化学试卷.docx
- 河南省郑州市第一中学2017-2018学年高一下学期周测物理试题(325)扫描版含答案.doc
- 山西省怀仁县第一中学2017-2018学年高二下学期第一次月考生物试题扫描版.doc
- 河南省六市高三下学期第一次联考试题(3月)理科综合扫描版含答案.doc
- 四川省高三全国Ⅲ卷冲刺演练(一)文综地理试卷扫描版含答案.doc
- 河南省洛阳市高三第二次统考文综试卷扫描版含答案.doc
- 甘肃省靖远县高三下学期第二次联考理科综合试题扫描版含答案.doc
- 问题导学法在办公场景中的实施策略及效果评估.docx
- 退休后的个人品牌打造与传播策略.docx
- 问题解决在办公流程优化中的应用.docx
- 问题导向的办公环境创新设计.docx
文档评论(0)