Đôi khi, tôi thấy khó phân biệt giữa phương thức và thuộc tính với tên của nó mà không có dấu ngoặc đơn phụ.cách phân biệt giữa phương thức và thuộc tính trong python theo tên
Ví dụ:
đang có phương thức keys()
và text
trong lớp xml.etree.ElementTree.Element
.
text
: Thuộc tính văn bản có thể được sử dụng để giữ dữ liệu bổ sung được liên kết với phần tử.
keys()
: Trả về tên thuộc tính phần tử dưới dạng danh sách.
Có một số nguyên tắc cơ bản/công ước để làm text
một thuộc tính, nhưng keys()
một phương pháp?
Nếu tôi thực hiện text()
một phương thức và keys
một thuộc tính. Nó vẫn có vẻ OK.
Tôi tin rằng nó là ok nếu bạn sẽ tạo đối tượng của bạn với văn bản dưới dạng hàm và các khóa làm thuộc tính. Nếu bạn cần phát hiện on-fly cho dù tên là một hàm hay var bạn có thể sử dụng các phương thức callable, type và isintance. Bạn có thể thử đọc thêm về các phương pháp này tại đây: http://diveintopython.org/power_of_introspection/built_in_functions.html –
"Có một số quy tắc/quy ước cơ bản" không? Vâng. Tài liệu mà bạn trích dẫn cung cấp thông tin bạn muốn. Bạn cần gì hơn những gì bạn đã tìm thấy? –