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 predicate และ getmembers(module, predicate) เพื่อรับสมาชิกของโมดูล ตัวอย่างเช่น

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

โปรดทราบว่าวิธีนี้ใช้ไม่ได้กับโมดูลในตัวเนื่องจากประเภทของฟังก์ชันสำหรับโมดูลเหล่านั้นไม่มีฟังก์ชัน แต่มีฟังก์ชันในตัว