Python 类和面向对象编程

对 Python 类、对象、继承和 OOP 概念的完整介绍。创建强大的数据模型并扩展您的 Python 应用程序。

在编辑器中尝试

概述

面向对象编程 (OOP) 是一种强大的编程范例,在 Python 中大量用于构建大型、复杂的应用程序。与专注于编写顺序函数的过程式编程不同,OOP 围绕“对象”的概念。对象是一个独立的单元,它将数据(称为属性)和行为(称为方法)捆绑在一起。

Python 中的“类”充当创建对象的蓝图或模板。将类想象为房屋的建筑蓝图。蓝图本身不是房子,但它定义了房子的外观和功能。当您实例化一个类时,您创建了一个根据该蓝图构建的有形“对象”或“实例”。您可以从单个类创建数百个唯一实例。

Python 类的核心是“__init__()”方法,通常称为构造函数。这个特殊方法会在从类创建新对象时自动执行。它负责初始化对象的默认状态,为其附加特定属性。 “self”参数强制传递给实例方法,充当对正在操作的特定对象的引用。

OOP 最强大的支柱之一是继承。继承允许您创建一个新类(子类),该新类继承现有类(父类)的所有属性和方法。这促进了大规模代码重用。例如,您可能有一个通用的“Vehicle”类,然后创建继承自“Vehicle”但添加自己的特定行为的“Car”和“Truck”子类。

另一个核心概念是封装,即隐藏对象的内部状态并要求所有交互通过指定方法进行的想法。虽然 Python 没有严格的访问修饰符(如“private”或“protected”),但它依赖于命名约定(例如在变量前添加下划线“_”)来表明不应从类外部直接操作属性。

代码和执行输出

定义 Car 对象实例的严格表示并利用类方法来改变本地实例数据。

oop_example.py
在编辑器中尝试
class Car:
    def __init__(self, make, model):
        self.make = make
        self.model = model
        self.is_running = False

    def start(self):
        self.is_running = True
        return f"{self.make} {self.model} has started."

my_car = Car("Toyota", "Corolla")
print(my_car.make)
print(my_car.start())
端子输出
Toyota
Toyota Corolla has started.

逐步实施

  • 对现实世界的实体(用户、产品、购物车)进行建模
  • 构建游戏引擎和实体组件系统
  • 创建可重用的图形用户界面组件

常见问题解答

“自我”是什么意思?

“self”代表类的实例。通过使用“self”关键字,我们可以访问Python中类的属性和方法。

Python 支持多重继承吗?

是的,Python允许一个类继承多个父类。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。