python查看模块的所有成员(变量、函数、类)
2020-02-18 本文已影响0人
明月清风_5c62
在导入一个模块后,怎么知道该模块有哪些可用的变量、函数及类呢?
dir()函数
>>> import signal
>>> print(dir(signal))
['Handlers', 'ITIMER_PROF', 'ITIMER_REAL', 'ITIMER_VIRTUAL', 'ItimerError', 'NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD', 'SIGCONT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT', 'SIGIO', 'SIGIOT', 'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGPWR', 'SIGQUIT', 'SIGRTMAX', 'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS', 'SIGTERM', 'SIGTRAP', 'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1', 'SIGUSR2', 'SIGVTALRM', 'SIGWINCH', 'SIGXCPU', 'SIGXFSZ', 'SIG_BLOCK', 'SIG_DFL', 'SIG_IGN', 'SIG_SETMASK', 'SIG_UNBLOCK', 'Sigmasks', 'Signals', '_IntEnum', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_enum_to_int', '_int_to_enum', '_signal', 'alarm', 'default_int_handler', 'getitimer', 'getsignal', 'pause', 'pthread_kill', 'pthread_sigmask', 'set_wakeup_fd', 'setitimer', 'siginterrupt', 'signal', 'sigpending', 'sigtimedwait', 'sigwait', 'sigwaitinfo', 'struct_siginfo']
dir() 函数可以查看模块的所有变量、函数和类,不仅包含可供我们调用的模块成员,还包含所有名称以双下划线“__”开头和结尾的成员,而这些“特殊”命名的成员,是为了在本模块中使用的,并不希望被其它文件调用。
要只查看公开的成员,可稍微改进,用以下方法:
>>> import signal
>>> print([e for e in dir(signal) if not e.startswith('_')])
['Handlers', 'ITIMER_PROF', 'ITIMER_REAL', 'ITIMER_VIRTUAL', 'ItimerError', 'NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD', 'SIGCONT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT', 'SIGIO', 'SIGIOT', 'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGPWR', 'SIGQUIT', 'SIGRTMAX', 'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS', 'SIGTERM', 'SIGTRAP', 'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1', 'SIGUSR2', 'SIGVTALRM', 'SIGWINCH', 'SIGXCPU', 'SIGXFSZ', 'SIG_BLOCK', 'SIG_DFL', 'SIG_IGN', 'SIG_SETMASK', 'SIG_UNBLOCK', 'Sigmasks', 'Signals', 'alarm', 'default_int_handler', 'getitimer', 'getsignal', 'pause', 'pthread_kill', 'pthread_sigmask', 'set_wakeup_fd', 'setitimer', 'siginterrupt', 'signal', 'sigpending', 'sigtimedwait', 'sigwait', 'sigwaitinfo', 'struct_siginfo']