如何避免在需要时"if"嵌套 python中的多个返回值



像这样,假设我需要使用一些库函数(我不能更改它们(,它返回一个值或None,我想使用返回的值并将其传递给另一个函数。如何避免同时使用多个if语句?

下面是我的代码示例:

import random
def somefunction1(n):
m=random.randint(0,n)
if m>5:
return None
else:
return m
def somefunction2(n):
# like somefunction1
# ------way one
r1=somefunction1(10)
r2=somefunction2(someParameter)
if r1:
print(r1)
elif r2:
print(r2)
# --------way two
r1=somefunction1(10)
if r1:
print(r1)
else:
r2=somefunction2(someparameter)
if r2:
print(r2)
if r := somefunction1(10) or somefunction2(someParameter):
print(r)

试试这个:

def a_function(parameters):
default_value = None
apply_some_operation_on(parameters):
if YouWantToReturnSomething:
default_value = whatever_you_want_to_return
return return_val

请检查这一点,如果您没有使用out_put1作为另一个函数的输入,那么您可以这样使用
如果function1((返回某个值,则out_put值将为该值
否则,如果function2((返回某个值,那么out_put将是function2(((的值,否则将是None

out_put =  function1() or function2()
if out_put:
print(out_put)

最新更新