我有一个K函数,该函数返回三个值(a,b和c),并且在程序中的多个位置使用它。我也想在H函数中使用此函数。但是,当我在H函数中使用它时,我希望它仅返回其前两个返回值(a和b),就像下面的代码一样。当我在H中使用K时,是否可以隐藏c?还是应该只在H函数中重新定义K函数,使其仅返回a和b值?
def K(x):
...
return a,b,c
def H(y):
...
a,b=K(y)
...
return p
谢谢!
答案 0 :(得分:4)
您可以使用下划线'_'
def foo():
return 3,4,5
x,_,_ = foo()
print(x)
输出
3
答案 1 :(得分:0)
如果您返回的值是第一个(例如,只有a或只有a和b),那么您的代码将按原样工作。
如果返回的值不是第一个(例如,只有b或a和c),则需要使用类似a, _, c = K(y)
(_
是常用符号“虚拟”变量)。
答案 2 :(得分:0)
您还可以在功能K中添加类型检查:
def K(x, return_only_ab=False): # add default parameter return_only_ab
...
if not return_only_ab: # if False then return all the three variables
return a,b,c
else: # else reutrn only a, b that you need
return a, b
def H(y):
...
a,b=K(y, return_only_ab=True) # here you ll only get a,b and then do something with it
...
return p
希望有帮助