如何在 Python 中创建类(面向对象编程)

了解如何在 Python 中创建类。掌握 __init__ 构造函数、实例方法、self 关键字和对象实例化。

在编辑器中尝试此解决方案

概述

面向对象编程 (OOP) 是一种强大的范例,用于对现实世界的实体进行建模、构建应用程序并提高代码的可重用性。在Python中,一切都是对象,类是创建各个对象的蓝图。创建类允许您将数据属性和函数捆绑在一起。

要定义类,请使用“class”关键字,后跟类名(通常以 PascalCase 形式编写)。在类内部,最重要的方法是构造函数:`__init__(self, ...)`。当您实例化类时,会自动执行这个特殊的魔术方法,初始化对象的起始数据属性。

“self”参数代表您当前正在创建或修改的类的特定实例。类中的每个实例方法都必须接受“self”作为其第一个参数。实例方法是在类内部定义的函数,它们对对象的属性进行操作,从而实现逻辑的干净封装。

代码和执行输出

该脚本演示了创建类、定义属性、类实例方法以及创建对象。

create_class.py
在编辑器中尝试
# 1. Defining a class
class User:
    def __init__(self, username, email):
        self.username = username
        self.email = email
        self.active = True  # Default attribute

    def get_info(self):
        status = "Active" if self.active else "Inactive"
        return f"User: {self.username} | Email: {self.email} | Status: {status}"

# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")

# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)
端子输出
User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.com

逐步实施

  • 使用 class 关键字来声明类模板。
  • 定义 __init__(self, ...) 构造函数来设置初始属性。
  • 添加接受 self 作为第一个参数的实例方法来处理对象状态。
  • 调用 ClassName(...) 来实例化并创建一个新的对象实例。

常见问题解答

self参数代表什么?

它指的是正在创建或操作的对象的特定实例。需要将属性绑定到实例。

一个类可以具有在所有实例之间共享的属性吗?

是的,这些是类属性。直接在类头下定义它们(在 __init__ 之外)并使用 ClassName.attribute 访问它们。

相关主题

推荐的 Python 资源

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