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 == 0Gọ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
6Phươ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.
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
1Nền tảng về lập trình hướng đối tượng
Tệp bên ngoàiGiới thiệu về lập trình hướng đối tượngLớp và đối tượngTham số selfPhương thứcThuộc tínhPhương thức khởi tạo (__init__)Ôn tập: máy tính đơn giản4Kế thừa
Kế thừa cơ bảnHàm super()Ghi đè phương thứcKế thừa đa lớpThứ tự phân giải phương thứcÔn tập: hệ thống phân cấp nhân viên2Decorator
Giới thiệu về decoratorDecorator thuộc tínhDecorator phương thức tĩnhDecorator phương thức lớp5Tính đa hình
Xem lại cách ghi đè phương thứcKiểu gõ vịtLớp và phương thức trừu tượngThiết kế giao diệnÔn tập: máy tính hình học8Các khái niệm OOP nâng cao
Kết hợp và kế thừaMixinPhương thức tĩnh và phương thức lớpDecorator lớpTrình quản lý ngữ cảnhTự luyện tập: Trình biên dịch Python online