第二章:25+ Python 数据操作教程(第十九节如何通过示例概述了 Python 中的面向对象编程 (OOP)。这是一个分步指南,专为没有编程经验的人设计)持续更新

本文是面向初学者的Python面向对象编程(OOP)教程,介绍了对象、类、构造函数、继承、多态性等概念,并通过实例讲解了Python中的OOP基础,帮助读者理解Python库背后的基本原理。
摘要由CSDN通过智能技术生成

本教程通过示例概述了 Python 中的面向对象编程 (OOP)。这是一个分步指南,专为没有编程经验的人设计。面向对象编程很流行,除了 Python 之外,还可以使用其他编程语言,如 Java、C++、PHP。


什么是面向对象编程?

在面向对象编程 (OOP) 中,您可以灵活地在代码中表示现实世界的对象,如汽车、动物、人、ATM 等。简单来说,物体就是具有一定特征、能够执行一定功能的东西。例如,汽车是一个物体,可以执行启动、停止、驱动和制动等功能。这些都是汽车的功能。特征是汽车的颜色、里程、最高速度、车型年份等。

在上面的例子中,car 是一个object. 在 OOP 世界中调用函数methods。特点是attributes (properties)。从技术上讲,属性是与对象状态相关的变量或值,而方法是影响对象属性的函数。

在Python中,一切都是对象。字符串、整数、浮点、列表、字典、函数、模块等都是对象。

数据科学家使用面向对象编程吗?

这是数据科学家在学习 OOP 之前最常见的问题之一。当涉及到使用 Python 进行数据操作和机器学习时,通常建议学习pandasnumpymatplotlib、 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 model's year
        mpg =  20       # mileage
        speed = 100     # current speed
        
    # methods
        def accelerate(self):
            return car.speed + 20

        def brake(self):
            return car.speed - 50
汽车1=汽车()

car1.accelerate()
120

car1.brake()
50

汽车1年
2016年

car1.mpg
20

汽车1.速度
100

car1=car()

car1.accelerate()
120

car1.brake()
50

car1.year
2016

car1.mpg
20

car1.speed
100
要提交方法,我们需要使用圆括号。
示例 2:创建公司类别
在下面的示例中,我们创建一个名为 company 的类。这里的属性是名称、营业额、收入和在公司工作的员工人数。方法是每个员工产生的收入(出于演示目的,我们将其称为生产力)。
# 创建公司类
类公司:
    
    # 属性
    名称 =“XYZ 银行”
    营业额 = 5000
    收入 = 1000
    员工人数 = 100
    
    # 方法
    定义生产力(自我):
        返回 Company.revenue/Company.no_of_employees

# Creates class Company
class Company:
    
    # attributes
    name = "XYZ Bank"
    turnover = 5000
    revenue = 1000
    no_of_employees = 100
    
    # method
    def productivity(self):
        return Company.revenue/Company.no_of_employees

可以提取在方法外部定义的属性,而无需创建对象。

公司名称

输出
“XYZ 银行”

公司营业额

输出
5000

Company.no_of_employees

输出
100

公司().生产力()

输出
10.0

Company.name

Output
'XYZ Bank'

Company.turnover

Output
5000

Company.no_of_employees

Output
100

Company().productivity()

Output
10.0

构造函数

构造函数是一种特殊的方法。您可以将其视为初始化或激活对象的类的属性或属性的函数。使用关键字__init__为构造函数创建方法。在上一节中,我们讨论了汽车作为对象的示例。您可以将构造函数视为所需的整个操作序列,以便工厂根据类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值