2013-03-16 23 views
6

Tôi thậm chí không thực sự chắc chắn những gì những điều này được chính thức gọi là, mặc dù, Python có siêu dữ liệu, thường ở đầu các tập tin mô-đun như __version__ = '0.1'.pydoc hỗ trợ siêu dữ liệu python như __version__ = '0.1'

Tôi làm cách nào để tìm danh sách tất cả những người được PyDoc hỗ trợ? globals tin

Trả lời

9

Bất kỳ cấp cao nhất sau một quy ước đặt tên cụ thể sẽ được đưa vào dưới Data phần được tạo ra bởi pydoc:

  • Tất cả các biến toàn cục bình thường được hiển thị ở đó - bạn có thể thấy điều này chỉ đơn giản bằng cách chạy pydoc trên mô-đun có một số biến toàn cầu nếu không có trống. Các tên "
  • " Đặc biệt "được hiển thị (nhưng không phải là tên riêng): các tên như __SomeClass__ hoặc __a_special_variable__ sẽ được hiển thị nhưng các tên như __this_is_private sẽ không hiển thị.
  • Named tuples được hiển thị, cũng như bất kỳ thứ gì khớp với mẫu chỉ định chúng: tên của đối tượng bắt đầu bằng _ và đối tượng có thuộc tính _fields (nghĩa là nó có trường công khai).

Có những ngoại lệ đối với các quy tắc cơ bản này; tên trong danh sách dự trữ làm không được điều trị tương tự:

{'__author__', '__builtins__', '__cached__', '__credits__', 
'__date__', '__doc__', '__file__', '__initializing__', 
'__loader__', '__module__', '__name__', '__package__', 
'__path__', '__qualname__', '__slots__', '__version__'} 

pydoc sẽ tự động xây dựng các phần riêng biệt cho các __version__, __date__, __author__, và __credits__. Những người khác là "thừa hoặc nội bộ" (ví dụ: __name____package__ được chỉ định cho các phần của riêng họ, nhưng Pydoc cũng sẽ tự động tạo các trường đó cho dù bạn đã đặt hay không).

Tất cả điều này có thể được tìm thấy bằng cách duyệt source, nhưng dường như không có bất kỳ nơi nào khác biên soạn thông tin này - hoặc ít nhất, không phải là một vị trí tốt trong Google.