Menu
CoddyTech

Decorator phương thức tĩnh

Thuộc phần Lập trình hướng đối tượng trong hành trình Python của Coddy. Bài học 11 trên 64.

Decorator @staticmethod tạo ra các phương thức không cần self hoặc lớp. Chúng hoạt động như các hàm thông thường nhưng thuộc về lớp.

Đây là ví dụ về một lớp có các phương thức tĩnh:

class MathHelper:
    @staticmethod
    def add(a, b):
        return a + b
    
    @staticmethod
    def is_even(number):
        return number % 2 == 0

Gọi các phương thức tĩnh bằng tên lớp:

result = MathHelper.add(5, 3)
print(result)

check = MathHelper.is_even(10)
print(check)

Bạn cũng có thể gọi chúng từ một đối tượng:

helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)

Đầu ra:

8
True
6

Phương thức tĩnh không truy cập dữ liệu của đối tượng hoặc lớp:

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Không thể truy cập self.owner hoặc Calculator.brand
        return x * y

Điểm chính: Dùng @staticmethod khi bạn cần một hàm có liên quan đến lớp nhưng không cần truy cập dữ liệu của instance (self) hoặc dữ liệu của lớp. Không cần tham số self.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Python online