是否可以在IDLE会话中显示所有用户功能的列表?
我可以看到它们在自动完成中弹出,所以也许还有其他方法只显示为会话定义的用户功能。忘记函数名称时很有用。此外,当您想要确保在会话关闭时不丢失函数的源代码时。
答案 0 :(得分:4)
这应该为您提供全局范围内所有函数的列表:
import types
print [f for f in globals().values() if type(f) == types.FunctionType]
答案 1 :(得分:3)
这应该有效:
print([f for f in dir() if f[0] is not '_'])
在版本3.5.2
上测试。
dir()
基本上会为您提供当前范围内可调用对象的列表。
答案 2 :(得分: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)])
答案 3 :(得分:1)
您可以通过
列出所有用户定义的函数,而无需任何导入print([f.__name__ for f in globals().values() if type(f) == type(lambda *args: None)])
请注意
lambda *args: None
代表什么都不做的功能,可以被任意函数取代。