相关疑难解决方法(0)

在Python中获取方法参数名称

鉴于Python函数:

def a_method(arg1, arg2):
    pass
Run Code Online (Sandbox Code Playgroud)

如何提取参数的数量和名称.即,鉴于我有一个func的引用,我想要返回func.[something]("arg1","arg2").

这种情况的使用场景是我有一个装饰器,我希望使用方法参数的顺序与它们为实际函数出现的顺序相同.也就是说,当我调用aMethod("a","b")时,装饰器看起来会打印出"a,b"吗?

python introspection decorator python-datamodel

214
推荐指数
10
解决办法
12万
查看次数

为什么非默认参数不能遵循默认参数?

为什么这段代码会抛出一个SyntaxError?

  >>> def fun1(a="who is you", b="True", x, y):
...     print a,b,x,y
... 
  File "<stdin>", line 1
SyntaxError: non-default argument follows default argument
Run Code Online (Sandbox Code Playgroud)

虽然下面的代码运行没有可见的错误:

>>> def fun1(x, y, a="who is you", b="True"):
...     print a,b,x,y
... 
Run Code Online (Sandbox Code Playgroud)

python

118
推荐指数
3
解决办法
13万
查看次数

如何在Python中看到函数签名?

有没有一种方法来反思了一项功能,它显示我的需要(如参数的个数数量,类型,如果可能的,如果命名的参数名称)和返回值参数的信息?dir()似乎没有做我想要的.该__doc__字符串有时包括方法/函数的参数,但往往并非如此.

python introspection

11
推荐指数
1
解决办法
6807
查看次数

获取函数,Python的关键字参数

def thefunction(a=1,b=2,c=3):
    pass

print allkeywordsof(thefunction) #allkeywordsof doesnt exist
Run Code Online (Sandbox Code Playgroud)

会给[a,b,c]

是否有像allkeywordsof这样的功能?

我不能改变里面的任何东西, thefunction

python function introspection

3
推荐指数
2
解决办法
3621
查看次数

如何检查函数/方法采用哪些参数?

为了保持几个模块,我在Python中构建有点一致,我想做一些自动代码检查.为此,我想检查模块的功能和函数所采用的参数.我可以使用hasattr()来检查模块是否实际包含预期的函数.到现在为止还挺好.

我现在想看看函数采用哪些参数.只需查看变量名就足够了.我不知道我怎么能这样做.有人知道如何获取函数所带参数的名称吗?

python arguments function code-inspection

3
推荐指数
1
解决办法
6166
查看次数