在Python IDLE会话中显示用户定义的函数列表

8 投票
4 回答
11403 浏览
提问于 2025-04-16 19:22

在IDLE会话中,有没有办法显示所有用户定义的函数列表?

我可以在自动补全中看到它们,所以也许还有其他方法可以只显示当前会话中定义的用户函数。这在你忘记函数名称的时候很有用。而且,当你想确保在会话关闭时不会丢失某个函数的源代码时,这也很重要。

4 个回答

2

如果我理解这个问题的话...可以试试 dir() 这个函数

import my_module
dir(my_module)

只需要修改一下lunixbochs写的内容就可以了

def fun(): pass
print([f.__name__ for f in globals().values() if type(f) == type(fun)])
8

这个应该可以用:

print([f for f in dir() if f[0] is not '_'])

在版本 3.5.2 上测试过。

dir() 这个命令基本上会给你当前环境下所有可以调用的对象的列表。

10

这段代码应该能给你一个包含所有全局范围内函数的列表:

import types
print([f for f in globals().values() if type(f) == types.FunctionType])

撰写回答