假设我有一个非常简单的函数:
def myFunction(arg1, arg2):
return arg1, arg2
现在,如果我只想访问第二个参数,我可以这样做吗:
none, arg2 = myFunction(arg1, arg2)
?
假设我有一个非常简单的函数:
def myFunction(arg1, arg2):
return arg1, arg2
none, arg2 = myFunction(arg1, arg2)
?
是的,你确实可以做到这样。实际上就是那样。
将要忽略的参数分配给一个名称,然后在任何其他地方都不使用它即可。通常使用名称_
:
_, arg2 = myFunction(arg1, arg2)
_
这个变量名只是一种惯例,但大多数Python开发人员理解它的含义是“这个变量将被代码的其余部分忽略,它只是用来实现元组赋值的。”
或者,可以通过索引或切片输出:
arg2 = myFunction(arg1, arg2)[-1]
或者对于具有两个以上返回值的函数:
arg2, arg3 = returnsMoreThanTwo(arg1, arg2)[-2:]
但是如果你想忽略中间的某个参数,_
赋值是最好的选择。你可以多次使用它而不会受到惩罚:
arg1, _, _, arg4 = returnsFourArguments(arg1, arg2)
first_and_something = operator.itemgetter(0, 60)
,然后 first, something = first_and_something(returnsWhateverArguments(arg1, arg2))
或者其他什么... - Jon Clementsitemgetter()
方法就可以使用了。:-P - Martijn Pieters_, arg2 = myFunction(arg1, arg2)
_
。并不是说我投票给了你的帖子... - Martijn Pieters' '.join(a)
),得到了11个赞!要在“SQL Server”部分获得11个点赞,我必须创造出真正棒的东西 :) - Roman Pekar