如何在 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 资源
通过相关的交互式教程、备忘单和代码比较来扩展您的知识。