Đây là một câu hỏi học thuật, nhiều hơn một câu hỏi thực tế. Tôi đang cố gắng nghiên cứu cơ sở của Python và tôi tự hỏi: liệu tôi có thể triển khai các trang trí staticmethod
và classmethod
trong Python thuần túy nếu tôi muốn không?Các trang trí tĩnh và classmethod có thể được triển khai trong Python thuần túy không?
Đối với staticmethod
có thể tôi có thể giữ tham chiếu đến hàm ban đầu và gọi nó là bỏ qua đối số đầu tiên?
Đối với classmethod
có thể tôi có thể giữ tham chiếu đến hàm ban đầu và gọi nó là loại đối số đầu tiên, chứ không phải là đối số? (Làm cách nào để xử lý nó được gọi trực tiếp trên lớp học?)
Một lần nữa, không phải là tôi muốn thực sự triển khai nó trong các chương trình của mình; Tôi muốn học cách ngôn ngữ hoạt động từ nó. Nếu có thể tôi sẽ thực sự đánh giá cao các mẫu mã. Nếu không, tôi sẽ đánh giá cao giải thích tại sao nó không thể được thực hiện về mặt lý thuyết. Cảm ơn!
Chỉnh sửa: Cảm ơn câu trả lời và tham chiếu đến giao thức mô tả! Như một phương tiện để mở rộng hơn nữa sự hiểu biết của tôi về Python Tôi muốn hỏi hai điều nữa:
này có thể được thực hiện mà không có giao thức mô tả, ví dụ bằng cách thực hiện các cuộc gọi __ __ phương pháp đặc biệt trong các lớp học của chúng tôi?
Giao thức mô tả có hoạt động giống như trong Python 2.7 và bằng Python 3.x không?
Xin cảm ơn!
Tôi sẽ chấp nhận câu trả lời này, vì đó là câu trả lời tốt và đầy đủ cho câu hỏi ban đầu của tôi. Tuy nhiên, tôi sẽ đánh giá cao nó rất nhiều nếu bạn trả lời chỉnh sửa của tôi là tốt! Cảm ơn! – Tom