Skip to main content
 首页 » 编程设计

python之将函数调用链返回的值赋值给变量

2025年05月04日26落叶无声

如果值不是None,我想给返回的函数分配一些值,或者分配不同的值,或者另一个不同的值... 我只想调用该函数一次。

我目前使用 try 和 except TypeError,但只适用于两个选项并且不是很干净。

try: 
    value = someFunction()["content"] 
except KeyError: 
    value = someOtherFunction()["content"] 

请您参考如下方法:

由于返回的值是 dict 类型,您可以使用 dict.get 在一行中实现相同的行为:

value = someFunction().get("content", someOtherFunction()["content"]) 

但是如果您只处理问题中提到的两个值,这将适用。为了处理多个函数链,您可以创建函数列表并检查返回的字典对象中的“键”:

my_functions = [func1, func2, func3] 
 
for func in my_functions: 
    returned_val = func() 
    if 'content' in returned_val:  # checks for 'content' key in returned `dict` 
        value = returned_val['content'] 
        break