Đối với các chức năng toàn cầu dir[]
là lệnh sử dụng [như đã đề cập trong hầu hết các câu trả lời này], tuy nhiên, đây liệt kê cả chức năng công cộng và các chức năng không công khai cùng nhau.
Ví dụ: Chạy:
>>> import re
>>> dir[re]
Trả về các chức năng/lớp như:
'__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
Một số trong đó thường không có nghĩa là cho việc sử dụng lập trình chung [nhưng bởi chính mô -đun, ngoại trừ trong trường hợp của những người dunderalias như __doc__
, __file__
ect]. Vì lý do này, có thể không hữu ích khi liệt kê chúng với những người công khai [đây là cách Python biết những gì cần nhận khi sử dụng from module import *
].
'__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
0 có thể được sử dụng để giải quyết vấn đề này, nó trả về danh sách tất cả các chức năng và lớp công cộng trong một mô -đun [những chức năng không bắt đầu với dấu gạch dưới - '__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
1]. Xem ai đó có thể giải thích __all__ trong Python? cho việc sử dụng '__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
0.Đây là một ví dụ:
>>> import re
>>> re.__all__
['match', 'fullmatch', 'search', 'sub', 'subn', 'split', 'findall', 'finditer', 'compile', 'purge', 'template', 'escape', 'error', 'A', 'I', 'L', 'M', 'S', 'X', 'U', 'ASCII', 'IGNORECASE', 'LOCALE', 'MULTILINE', 'DOTALL', 'VERBOSE', 'UNICODE']
>>>
Tất cả các chức năng và các lớp có dấu gạch dưới đã bị xóa, chỉ còn lại các chức năng được xác định là công khai và do đó có thể được sử dụng thông qua
'__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
3.Lưu ý rằng
'__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
0 không phải lúc nào cũng được xác định. Nếu nó không được bao gồm thì một '__all__', '_MAXCACHE', '_alphanum_bytes', '_alphanum_str', '_pattern_type', '_pickle', '_subx'
5 sẽ được nâng lên.Một trường hợp này là với mô -đun AST:
>>> import ast
>>> ast.__all__
Traceback [most recent call last]:
File "", line 1, in
AttributeError: module 'ast' has no attribute '__all__'
>>>
Bạn có thể sử dụng DIR [mô -đun] để có tất cả các thuộc tính/phương thức của một mô -đun. Ví dụ,
>>> import math >>> dir[math] ['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
Nhưng ở đây như bạn có thể thấy các thuộc tính của mô -đun [__ name__, __doc__, v.v.] cũng được liệt kê. Bạn có thể tạo một chức năng đơn giản để lọc chúng bằng cách sử dụng vị từ isFunction và getMembers [mô -đun, vị ngữ] để có được các thành viên của một mô -đun. Ví dụ,
>>> from inspect import getmembers, isfunction >>> import helloworld >>> print [o for o in getmembers[helloworld] if isfunction[o[1]]] ['hello_world']
Lưu ý rằng điều này không hoạt động cho các mô -đun tích hợp vì loại chức năng cho các mô -đun đó không phải là chức năng mà được tích hợp trong chức năng.
Cập nhật vào ngày 30 tháng 9 năm 2019 08:59:07
- Câu hỏi và câu trả lời liên quan
- Làm thế nào để viết một mô -đun Python?
- Làm thế nào để cài đặt một mô -đun Python?
- Làm thế nào để phát triển một mô -đun Python?
- Làm thế nào để xác định một mô -đun cụ thể trong Python?
- Làm thế nào để tạo tất cả các hoán vị của một danh sách trong Python?
- Nhập một mô -đun trong Python
- Làm thế nào để lấy đường dẫn mô -đun Python?
- Chức năng & Phương pháp danh sách tích hợp trong Python
- Làm thế nào để nhập một hàm duy nhất từ mô -đun Python?
- Chương trình Python để in tất cả các nhóm phụ của một danh sách.
- Làm thế nào để xóa một mô -đun đã cài đặt trong Python?
- Làm thế nào để sử dụng mô -đun phụ trong Python?
- Làm thế nào để có được một danh sách tất cả các khóa từ từ điển Python?
- Làm thế nào để có được một danh sách tất cả các giá trị từ từ điển Python?
- Làm cách nào để liệt kê tất cả các tệp của một thư mục trong Python?
Trong bài viết này, chúng tôi chỉ ra cách liệt kê tất cả các chức năng và thuộc tính của một mô -đun trong Python.
Vì vậy, trong Python, có một phương thức dir [] có thể liệt kê tất cả các hàm và thuộc tính của một mô -đun.
Bên trong hàm Dir [] này, chúng tôi chỉ định mô -đun mà chúng tôi muốn xem tất cả các hàm và thuộc tính của.
Ví dụ: trong mã sau đây, chúng tôi hiển thị tất cả các hàm và thuộc tính của mô -đun HĐH.
Vì vậy, điều đầu tiên chúng ta phải làm là nhập mô -đun HĐH.
Sau khi bạn nhập mô -đun HĐH, sau đó chúng tôi chuyển mô -đun HĐH vào hàm Dir []. Điều này đưa ra tất cả các thuộc tính và chức năng của mô -đun HĐH.
Điều này in ra tất cả các thuộc tính và chức năng của mô -đun HĐH.
Bạn có thể thấy có các chức năng như listdir, mkdir, makedirs, v.v.
Điều này tạo ra các thuộc tính như tên, đường dẫn, v.v.