Cách tạo một lớp trong Python (Lập trình hướng đối tượng)

Tìm hiểu cách tạo một lớp trong Python. Nắm vững hàm tạo __init__, các phương thức phiên bản, từ khóa self và khởi tạo đối tượng.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Lập trình hướng đối tượng (OOP) là một mô hình mạnh mẽ được sử dụng để mô hình hóa các thực thể trong thế giới thực, cấu trúc ứng dụng và thúc đẩy khả năng sử dụng lại mã. Trong Python, mọi thứ đều là một đối tượng và các lớp là bản thiết kế mà từ đó các đối tượng riêng lẻ được tạo ra. Việc tạo một lớp cho phép bạn gộp các thuộc tính và hàm dữ liệu lại với nhau.

Để định nghĩa một lớp, bạn sử dụng từ khóa `class` theo sau là tên lớp (thường được viết bằng PascalCase). Bên trong lớp, phương thức quan trọng nhất là hàm tạo: `__init__(self, ...)`. Phương thức ma thuật đặc biệt này được tự động thực thi khi bạn khởi tạo lớp, khởi tạo các thuộc tính dữ liệu ban đầu của đối tượng.

Tham số `self` đại diện cho phiên bản cụ thể của lớp mà bạn hiện đang tạo hoặc sửa đổi. Mọi phương thức cá thể trong lớp phải chấp nhận `self` làm đối số đầu tiên. Các phương thức thực thể là các hàm được xác định bên trong lớp và hoạt động trên các thuộc tính của đối tượng, cho phép đóng gói logic một cách rõ ràng.

Đầu ra mã & thực thi

Tập lệnh này minh họa việc tạo một lớp, xác định các thuộc tính, các phương thức thực thể của lớp và tạo các đối tượng.

# 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)
Đầu ra thiết bị đầu cuối
User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.com

Triển khai từng bước

  • Sử dụng từ khóa class để khai báo mẫu lớp.
  • Xác định hàm tạo __init__(self, ...) để thiết lập các thuộc tính ban đầu.
  • Thêm các phương thức phiên bản chấp nhận self làm tham số đầu tiên để hoạt động với trạng thái đối tượng.
  • Gọi ClassName(...) để khởi tạo và tạo một thể hiện đối tượng mới.

Câu hỏi thường gặp

Tham số self thể hiện điều gì?

Nó đề cập đến trường hợp cụ thể của đối tượng được tạo hoặc thao tác. Nó được yêu cầu để liên kết các thuộc tính với thể hiện.

Một lớp có thể có các thuộc tính được chia sẻ trên tất cả các phiên bản không?

Vâng, đây là những thuộc tính của lớp. Xác định chúng trực tiếp dưới tiêu đề lớp (bên ngoài __init__) và truy cập chúng bằng ClassName.attribute.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.