当我在 Python 中的另一个函数中使用它时,我可以隐藏我函数的一些 return 值吗?
Can I hide some of my function's return values when I use it inside another function in Python?
我有一个 return 具有三个值(a、b 和 c)的 K 函数,我在我的程序中的多个地方使用它。我还想在 H 函数中使用此函数。但是,当我在 H 函数中使用它时,我希望它仅 return 它的前两个 return 值(a 和 b),就像下面的代码一样。当我在 H 中使用 K 时,有什么方法可以隐藏 c 吗?或者我应该单独重新定义 H 函数内部的 K 函数,使其 return 仅具有 a 和 b 值吗?
def K(x):
...
return a,b,c
def H(y):
...
a,b=K(y)
...
return p
谢谢!
如果您返回的值是第一个值(例如只有 a,或只有 a 和 b),那么您的代码将按原样运行。
如果您返回的值不是第一个值(例如只有 b、或 a 和 c),您需要使用类似 a, _, c = K(y)
的值(_
是"dummy" 变量的常用符号)。
您可以使用下划线'_'
def foo():
return 3,4,5
x,_,_ = foo()
print(x)
输出
3
您还可以在函数 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
希望对您有所帮助
我有一个 return 具有三个值(a、b 和 c)的 K 函数,我在我的程序中的多个地方使用它。我还想在 H 函数中使用此函数。但是,当我在 H 函数中使用它时,我希望它仅 return 它的前两个 return 值(a 和 b),就像下面的代码一样。当我在 H 中使用 K 时,有什么方法可以隐藏 c 吗?或者我应该单独重新定义 H 函数内部的 K 函数,使其 return 仅具有 a 和 b 值吗?
def K(x):
...
return a,b,c
def H(y):
...
a,b=K(y)
...
return p
谢谢!
如果您返回的值是第一个值(例如只有 a,或只有 a 和 b),那么您的代码将按原样运行。
如果您返回的值不是第一个值(例如只有 b、或 a 和 c),您需要使用类似 a, _, c = K(y)
的值(_
是"dummy" 变量的常用符号)。
您可以使用下划线'_'
def foo():
return 3,4,5
x,_,_ = foo()
print(x)
输出
3
您还可以在函数 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
希望对您有所帮助