Display a list of user defined functions in the Python IDLE session

前端 未结 4 1298
野性不改
野性不改 2021-02-09 11:02

Is it possible to display a list of all user functions in the IDLE session?

I can see them popping up in the autocomplete, so maybe there is other way to just display on

相关标签:
4条回答
  • 2021-02-09 11:17

    If I understand the question... try dir()

    import my_module
    dir(my_module)
    

    just edit what lunixbochs wrote

    def fun(): pass
    print([f.__name__ for f in globals().values() if type(f) == type(fun)])
    
    0 讨论(0)
  • 2021-02-09 11:21

    This should work:

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

    Tested on version 3.5.2.

    dir() will essentially give you a list of callable objects within the current scope.

    0 讨论(0)
  • 2021-02-09 11:31

    You can list all user-defined functions without any imports by

    print([f.__name__ for f in globals().values() if type(f) == type(lambda *args: None)])
    

    Note that lambda *args: None stands for function that does nothing and can be replaced by any arbitrary function.

    0 讨论(0)
  • 2021-02-09 11:37

    This should give you a list of all functions in the global scope:

    import types
    print([f for f in globals().values() if type(f) == types.FunctionType])
    
    0 讨论(0)
提交回复
热议问题