dir(re.compile(pattern))
không trả về mẫu làm một trong các thành phần của danh sách. Cụ thể là nó sẽ trả về:Làm thế nào để có được một danh sách đầy đủ các phương pháp và các thuộc tính của đối tượng?
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner', 'search', 'split', 'sub', 'subn']
Theo hướng dẫn, nó là vụ phải chứa
the object's attributes' names, the names of its class's attributes, and recursively of the attributes of its class's base classes.
Nó cũng nói rằng
The list is not necessarily complete.
Có cách nào để có được hoàn chỉnh danh sách ? Tôi luôn luôn giả định rằng dir trả về một danh sách đầy đủ nhưng dường như nó không ...
Ngoài ra: có cách nào để chỉ liệt kê các thuộc tính không? Hoặc chỉ có phương pháp?
Edit: đây thực sự là một lỗi trong python -> cho là nó được cố định tại các chi nhánh 3.0 (và có lẽ cũng trong 2,6)
sử dụng 'dir()' hoặc mô-đun kiểm tra thường là cách phù hợp để thực hiện. Bạn có sử dụng mô đun 're' làm ví dụ hay bạn muốn đạt được mục tiêu đặc biệt? – hop
Bạn có chắc chắn rằng mẫu này thực sự được lưu giữ dưới dạng dữ liệu khi được biên dịch không? Tôi đã ấn tượng rằng điểm biên dịch một mẫu là tạo ra các automata trạng thái hữu hạn cần thiết để phân tích mẫu đã cho. –
@hop không thể dir được sidestepped bởi các lớp học? Ví dụ, họ có thể thực hiện trên '__dir __()' – ytpillai