`self` trong Python là gì?

By datnq, at: 18:57 Ngày 19 tháng 12 năm 2022

Thời gian đọc ước tính: __READING_TIME__ minutes

What is self in Python?
What is self in Python?

Trong Python, self là một từ khóa đặc biệt được sử dụng trong định nghĩa lớp để đại diện cho một thể hiện của lớp đó. Nó cho phép truy cập vào các thuộc tính và phương thức của lớp trong lập trình hướng đối tượng.

 

Một số chúng ta sử dụng điều này mỗi ngày mà không biết một số tính năng cốt lõi

 

Tại sao sử dụng self?

 

Tham số self hoạt động như một tham chiếu đến thể hiện hiện tại của lớp. Nó cho phép các phương thức trong lớp truy cập và sửa đổi các thuộc tính của đối tượng và gọi các phương thức khác.

 

Các đặc điểm chính của self:

 

  • Tham chiếu đến thể hiện hiện tại của lớp.
     

  • Phải là tham số đầu tiên của các phương thức thể hiện.
     

  • Có thể được đặt tên khác, mặc dù self là quy ước.

 

self hoạt động như thế nào

 

Đây là một ví dụ đơn giản:

 

class Person:
    def __init__(self, name, age):
        self.name = name  # Gán tên cho thuộc tính thể hiện
        self.age = age    # Gán tuổi cho thuộc tính thể hiện

    def greet(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

# Tạo một thể hiện của Person
person = Person("Alice", 30)
person.greet()  # Kết quả: Hello, my name is Alice and I am 30 years old.

 

Giải thích:

 

  • __init__ là một phương thức đặc biệt được gọi là hàm khởi tạo.
     

  • self.nameself.age tham chiếu đến các thuộc tính của thể hiện.
     

  • Phương thức greet() sử dụng self để truy cập và in các thuộc tính này.

 

Lỗi thường gặp với self

 

1. Bỏ sót self trong định nghĩa phương thức:

 

def greet():  # Thiếu self
    print("Hello!")

 

Sửa:

 

def greet(self):
    print("Hello!")

 

2. Nhầm lẫn self với biến lớp:

 

class Counter:
    count = 0  # Biến lớp

    def __init__(self):
        self.count += 1  # Sử dụng không chính xác

 

Sửa: Sử dụng Counter.count để sửa đổi biến lớp.

 

Các trường hợp sử dụng nâng cao

 

Truy cập các thuộc tính lớp

 

class Example:
    class_variable = 42

    def show_class_variable(self):
        print(f"Class variable: {Example.class_variable}")

 

Kết nối phương thức

 

class Addition:
    def __init__(self):
        self.data = []

    def add(self, value):
        self.data.append(value)
        return self  # Cho phép kết nối phương thức

    def display(self):
        print(self.data)

b = Addition()
b.add(1).add(2).add(3).display()  # Kết quả: [1, 2, 3]

 

Kết luận

 

Từ khóa self là rất cần thiết trong lập trình hướng đối tượng của Python. Nó đại diện cho thể hiện của lớp và cung cấp quyền truy cập vào dữ liệu và phương thức của thể hiện. Bằng cách hiểu cách sử dụng self, bạn có thể tạo ra mã mạnh mẽ và có thể tái sử dụng trong các dự án Python của mình.

Tag list:
- self in Python
- how to use self in Python
- Python method self usage
- self keyword explanation Python
- common Python self mistakes
- object-oriented programming Python self
- Python self keyword
- self parameter in Python
- Python class attributes self
- Python class self example

Liên quan

Django Python

Đọc thêm
Experience Django

Đọc thêm
Python Django

Đọc thêm

Theo dõi

Theo dõi bản tin của chúng tôi và không bao giờ bỏ lỡ những tin tức mới nhất.