Đưa ra một tham chiếu đến một phương pháp, có cách nào để kiểm tra xem phương pháp đó có bị ràng buộc với một đối tượng hay không? Bạn cũng có thể truy cập vào cá thể mà nó bị ràng buộc không?Làm thế nào để bạn kiểm tra xem một phương pháp python có bị ràng buộc hay không?
Trả lời
def isbound(method):
return method.im_self is not None
def instance(bounded_method):
return bounded_method.im_self
Khi một đối tượng phương pháp dùng định nghĩa được tạo bằng cách lấy một người dùng xác định đối tượng chức năng từ một lớp học, nó
im_self
thuộc tính làNone
và đối tượng phương thức được cho là không bị ràng buộc. Khi được tạo bằng cách truy xuất đối tượng hàm do người dùng định nghĩa từ lớp qua một trong các trường hợp của nó, thuộc tínhim_self
của nó là đối tượng và đối tượng phương pháp được cho là bị ràng buộc. Trong cả hai trường hợp, thuộc tínhim_class
của phương thức mới là lớp từ , quá trình truy xuất diễn ra và thuộc tínhim_func
của nó là đối tượng hàm gốc .
Trong Python 2.6 and 3.0:
phương pháp sơ thẩm đối tượng có thuộc tính mới cho đối tượng và chức năng bao gồm phương pháp; từ đồng nghĩa mới cho
im_self
là__self__
vàim_func
cũng có sẵn dưới dạng__func__
. Tên cũ vẫn được hỗ trợ trong Python 2.6 nhưng đã biến mất trong 3.0.
im_self attribute (chỉ Python 2)
Trong python 3 thuộc tính __self__
là chỉ đặt trên phương pháp được liên kết. Nó không được đặt thành None
trên các hàm thuần túy (hoặc các phương thức không liên kết, chỉ là các hàm thuần túy trong python 3).
Sử dụng một cái gì đó như thế này:
def is_bound(m):
return hasattr(m, '__self__')
- 1. Hiểu xem mẫu mã có bị ràng buộc CPU hay bị ràng buộc bởi bộ nhớ
- 2. Làm thế nào để bạn kiểm tra các ràng buộc tuyến đường sử dụng RSpec
- 3. Làm thế nào để tìm thấy thể hiện của một phương pháp ràng buộc trong Python?
- 4. Làm thế nào để kiểm tra xem phương pháp có một thuộc tính
- 5. Java: Cách kiểm tra xem một phương pháp có bị ghi đè hay không, sử dụng phản chiếu
- 6. Làm thế nào để bạn kiểm tra xem một widget có tập trung vào Tkinter không?
- 7. Python - Kiểm tra xem tệp có trống hay không
- 8. Làm thế nào để bạn kiểm tra xem một số có thể chia hết cho một số khác (Python) không?
- 9. Làm thế nào để kiểm tra xem một id email có tồn tại hay không?
- 10. Ràng buộc Python AppIndicator -> howto kiểm tra xem menu có đang mở không?
- 11. Python: kiểm tra xem phương pháp là tĩnh
- 12. Làm thế nào để kiểm tra xem tuple có chứa một phần tử trong Python không?
- 13. Làm cách nào để kiểm tra xem phương pháp có tĩnh hay không bằng cách sử dụng phản chiếu?
- 14. kiểm tra khung pháp lý ràng buộc
- 15. Làm thế nào để kiểm tra mã nguồn của một phương pháp python?
- 16. Phương pháp để kiểm tra xem capslock là trên hay không trong java
- 17. Trong C#, làm thế nào để bạn kiểm tra xem một đường dẫn là ảo hay không?
- 18. Làm cách nào để kiểm tra xem một hàng có bị khóa để cập nhật không?
- 19. Moq làm thế nào để bạn kiểm tra các phương pháp nội bộ?
- 20. Làm cách nào để tạo một ràng buộc để kiểm tra xem email có hợp lệ trong postgres không?
- 21. Làm thế nào để kiểm tra xem resultset có một hàng hay nhiều hơn?
- 22. Làm cách nào để kiểm tra xem một lớp groovy có thuộc tính tĩnh hay không?
- 23. Làm thế nào tôi có thể kiểm tra xem mảng numpy có trống hay không?
- 24. Làm thế nào để kiểm tra xem một hoạt động đang chạy hay không
- 25. Làm thế nào để bạn kiểm tra xem một MKAnnotation có sẵn trong một MKCoordinateRegion
- 26. Làm cách nào để kiểm tra xem một trường có tồn tại hay không trong MongoDB?
- 27. làm thế nào để kiểm tra không ràng buộc cột null trong sql oracle?
- 28. Làm cách nào để kiểm tra xem một phương thức có tĩnh trong PHP không?
- 29. Làm thế nào để kiểm tra xem một ví dụ twisted.internet.protocol đã bị ngắt kết nối
- 30. Symfony2: kiểm tra xem phiên có tồn tại hay không
Link là bị hỏng. – jjmontes