Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 모듈의 모든 기능을 나열하는 방법은 무엇입니까?


dir(module)을 사용하여 모듈의 모든 속성/메소드를 가져올 수 있습니다. 예를 들어,

>>> 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']

그러나 여기에서 볼 수 있듯이 모듈(__name__, __doc__ 등)의 속성도 나열됩니다. isfunction 술어와 getmembers(module, predicate)를 사용하여 이를 걸러내는 간단한 함수를 생성하여 모듈의 구성원을 얻을 수 있습니다. 예를 들어,

>>> from inspect import getmembers, isfunction
>>> import helloworld
>>> print [o for o in getmembers(helloworld) if isfunction(o[1])]
['hello_world']

이러한 모듈의 함수 유형은 함수가 아니라 내장 함수이기 때문에 내장 모듈에서는 작동하지 않습니다.