@staticmethod trong Python là gì?
Một phương thức tĩnh là một phương thức tiện ích chung thực hiện một tác vụ trong sự cô lập. Bên trong phương thức này, chúng tôi không sử dụng biến đối tượng hoặc lớp vì phương thức tĩnh này không nhận bất kỳ tham số nào như 6 và 0Ngoài ra, hãy đọc Phương thức lớp Python so với phương thức tĩnh so với phương thức sơ thẩm Show
Sau khi đọc bài viết này, bạn sẽ học được
Mục lục
Phương thức tĩnh trong Python là gìMột phương thức tĩnh là một phương thức tiện ích chung thực hiện một tác vụ trong sự cô lập. Các phương thức tĩnh trong Python tương tự như các phương thức được tìm thấy trong Java hoặc C++ Một phương thức tĩnh được liên kết với lớp chứ không phải đối tượng của lớp. Do đó, chúng ta có thể gọi nó bằng tên lớp Có thể bạn quan tâmMột phương thức tĩnh không có quyền truy cập vào các biến lớp và đối tượng vì nó không nhận được đối số đầu tiên ngầm định như 6 và 0. Do đó, nó không thể sửa đổi trạng thái của đối tượng hoặc lớpCó thể gọi phương thức của lớp bằng cách sử dụng 5 cũng như bằng cách sử dụng một đối tượng của lớp
Xác định phương thức tĩnh trong PythonBất kỳ phương thức nào chúng ta tạo trong một lớp sẽ tự động được tạo dưới dạng phương thức thể hiện. Chúng ta phải nói rõ ràng với Python rằng đó là một phương thức tĩnh bằng cách sử dụng hàm 1 trang trí hoặc hàm 2Các phương thức tĩnh được xác định bên trong một lớp và nó khá giống với việc xác định một hàm thông thường. Để khai báo một phương thức tĩnh, hãy sử dụng thành ngữ này
Ví dụ. Tạo phương thức tĩnh bằng cách sử dụng Trình trang trí class C: @staticmethod def f(arg1, arg2, ...): ...1Để biến một phương thức thành một phương thức tĩnh, hãy thêm trình trang trí 1 trước định nghĩa phương thứcTrình trang trí 1 là trình trang trí chức năng tích hợp trong Python để khai báo một phương thức là một phương thức tĩnh. Đó là một biểu thức được đánh giá sau khi chức năng của chúng tôi được xác địnhTrong ví dụ này, chúng tôi sẽ tạo một phương thức tĩnh 21 chấp nhận tên dự án và trả về tất cả các yêu cầu để hoàn thành trong dự án nàyCác phương thức tĩnh là một trường hợp đặc biệt của các phương thức. Đôi khi, bạn sẽ viết mã thuộc về một lớp, nhưng điều đó hoàn toàn không sử dụng đối tượng đó. Nó là một phương thức tiện ích và không cần một đối tượng (_______26tham số) để hoàn thành hoạt động của nó. Vì vậy, chúng tôi khai báo nó như một phương thức tĩnh. Ngoài ra, chúng ta có thể gọi nó từ một phương thức khác của một lớp 2đầu ra 4Ưu điểm của phương pháp tĩnhỞ đây, phương thức tĩnh có những ưu điểm sau
6
Hàm class C: @staticmethod def f(arg1, arg2, ...): ...2Một số mã có thể sử dụng phương thức cũ để xác định phương thức tĩnh, sử dụng 2 làm hàm thay vì trang tríBạn chỉ nên sử dụng hàm 2 để xác định phương thức tĩnh nếu bạn phải hỗ trợ các phiên bản Python cũ hơn (2. 2 và 2. 3). Mặt khác, nên sử dụng trình trang trí 1cú pháp 2
Ví dụ 4Cách tiếp cận 2 rất hữu ích khi bạn cần tham chiếu đến một hàm từ thân lớp và bạn muốn tránh chuyển đổi tự động sang phương thức thể hiệnGọi phương thức tĩnh từ phương thức khácHãy xem cách gọi một phương thức tĩnh từ một phương thức tĩnh khác của cùng một lớp. Ở đây chúng ta sẽ phân lớp một phương thức tĩnh từ một phương thức lớp @staticmethod nghĩa là gì trong Python?@staticmethod là trình trang trí tích hợp xác định một phương thức tĩnh trong lớp trong Python . Một phương thức tĩnh không nhận bất kỳ đối số tham chiếu nào cho dù nó được gọi bởi một thể hiện của một lớp hay bởi chính lớp đó.
@staticmethod dùng để làm gì?Chúng tôi sử dụng trình trang trí @classmethod để tạo phương thức lớp. Ở đây chúng tôi sử dụng trình trang trí @staticmethod để tạo một phương thức tĩnh . Nó có thể được sử dụng để định nghĩa một phương thức xuất xưởng trả về các thể hiện của lớp. Nó không thể trả về một đối tượng lớp.
Phương pháp tĩnh nghĩa là gì?Phương thức tĩnh (hoặc hàm tĩnh) là phương thức được định nghĩa là thành viên của đối tượng nhưng có thể truy cập trực tiếp từ hàm tạo của đối tượng API, thay vì từ phiên bản đối tượng được tạo thông qua . .
@staticmethod trong Django là gì?A @staticmethod cho phép bạn gắn một hàm vào không gian tên của lớp mà không thực sự gắn hàm đó với lớp . Bạn vẫn phải gọi chức năng đó. |