こういうことに興味を持ってくれる人は少ないですね。
特定のモジュールで定義した関数だけを知りたいということですね。
関数はcallableですが、callableなものがすべて関数ではありません。
たとえば、intのことを型変換の関数だと誤解している人もいますが、intはクラスです。
python
1>>> print(callable(int))
2True
3>>> print(type(int))
4<class 'type'>
また、globalsから調べるだけの方法だと、そのモジュールでは定義していない関数も拾ってしまいます。
python
1# test1.py
2
3from glob import glob
4my_max = max
5
6print('globals() is\n', globals())
7print('callable(glob) is', callable(glob))
8print('callable(my_max) is', callable(my_max))
実行するとこうなります。
shell
1$ python test01.py
2globals() is
3 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000021C703476D0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'test01.py', '__cached__': None, 'glob': <function glob at 0x0000021C70605040>, 'my_max': <built-in function max>}
4callable(glob) is True
5callable(my_max) is True
自作のモジュールについて調べたいときは以下のようにやってください。
python
1import my_module
2import glob
3import sys
4
5print([k for k, v in vars(my_module).items() if type(v) == type(glob.glob) and v.__module__ == my_module.__name__])
現在のファイル中であればmy_module.__name__を'main'にしてください。
上記でglob.globを使っているのはfunctionインスタンスの代表としての意味です。
以上で大雑把なところはわかりますが、組み込みモジュールやパッケージの場合には他のことも考える必要があります。
また、メソッド、関数内で定義した関数、generatorなどは関数とは見なしていません。