Python 中如何查看一个函数都有什么参数

2019 年 10 月 22 日
 smallpython
比如查看一个类有什么方法有内置的 dir()

那么查看一个函数有什么参数有什么内置方法吗?
8813 次点击
所在节点    Python
10 条回复
dji38838c
2019 年 10 月 22 日
help()
arrow8899
2019 年 10 月 22 日
def method(a, b, c):
----pass

print(method.__code__.co_varnames) # => ('a', 'b', 'c')
Latin
2019 年 10 月 22 日
renmu
2019 年 10 月 22 日
pycharm 输入函数追踪进去(逃
CodeDrift
2019 年 10 月 22 日
In [1]: import inspect

In [2]: def f(arg1, arg2):
...: print arg1, arg2

In [3]: inspect.getargspec(f)
Out[3]: ArgSpec(args=['arg1', 'arg2'], varargs=None, keywords=None, defaults=None)
ClericPy
2019 年 10 月 22 日
楼上除了 5 楼有点贴近, 其他都像混子啊...

前两天刚实现了一个自动把 function 转 UI 的, 正好用到了这方面的内省知识

首先最推荐的是 inspect.signature, 具体用法看文档

其次是 5 楼类似那个的 inspect.getfullargspec, 这个比 5 楼那个得到的更全面一点, 不过归类做的不如 signature 好
locoz
2019 年 10 月 22 日
这个叫内省,其实 Google 搜一下就知道了,在论坛上问反而效率低,因为很多人都不会用到
BigBug00
2019 年 10 月 22 日
在 pycham 里按住 shift 点进去
smallpython
2019 年 10 月 22 日
@ClericPy
@locoz
感谢
smallpython
2019 年 10 月 22 日
@arrow8899 你这个厉害了, 是不是那些包的内部也是调用的你这个方法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/611759

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX