Skip to main content
 首页 » 编程设计

python之如何在 Python 3 中动态调用内置方法,例如 __doc__

2025年05月04日19daizhj

我是 Python 的新手,我正在打印各种内置 Python 方法的 __doc__。然后我尝试执行以下操作:

for f in dir(__builtins__): 
    print('********' + f + '********\n', f.__doc__) 

当结果看起来像这样时,我感到很惊讶:

********abs******** 
    str(object='') -> str 
    str(bytes_or_buffer[, encoding[, errors]]) -> str 
********all******** 
    str(object='') -> str 
    str(bytes_or_buffer[, encoding[, errors]]) -> str 
********any******** 
    str(object='') -> str 
    str(bytes_or_buffer[, encoding[, errors]]) -> str 
********ascii******** 
    str(object='') -> str 
    str(bytes_or_buffer[, encoding[, errors]]) -> str 

经过一些研究,我找到了 this , 但我仍然没有看到我如何能够完成我希望完成的事情。我知道这毫无意义,但我觉得了解如何在 Python 中动态执行与此类似的任务对我很有用。

谢谢你的帮助!

请您参考如下方法:

dir(__builtins__)(也在模块上迭代)给出模块中的名称以获取必须使用 getattr 的对象:

for f in dir(__builtins__): 
    print('********' + f + '********\n', getattr(__builtins__, f).__doc__)