Python基础:如何检查函数是否返回多个值?

2 投票
5 回答
9924 浏览
提问于 2025-04-17 03:56

我知道一些基础知识...;-P 但是检查一个函数是否返回了值的最佳方法是什么呢?

def hillupillu():
    a= None
    b="lillestalle"
    return a,b

if i and j in hillupillu(): #how can i check if i or j are empty? this is not doing it of course;-P
    print i,j 

5 个回答

0
if(i == "" or j == ""):
   //execute code

类似这样的代码应该可以正常工作,但如果你给它一个None的值,你应该这样做

if(i == None or j == None):
    //execute code

希望这能帮到你

8

在Python中,函数总是返回一个值。特别地,它们可以返回一个元组。

如果你不知道元组里有多少个值,可以检查它的长度:

tuple_ = hillupillu()
i = tuple_[0] if tuple_ else None
j = tuple_[1] if len(tuple_) > 1 else None
8

如果你是说你无法预测某个函数会返回多少个值,那么

i, j = hillupillu()

如果这个函数没有准确返回两个值,就会抛出一个 ValueError 错误。你可以用常见的 try 结构来捕获这个错误:

try:
    i, j = hillupillu()
except ValueError:
    print("Hey, I was expecting two values!")

这遵循了Python中的一个常见做法,就是“事后求情,而不是事前请求许可”。如果 hillupillu 这个函数本身可能会抛出 ValueError,你就需要做一个明确的检查:

r = hillupillu()
if len(r) != 2:  # maybe check whether it's a tuple as well with isinstance(r, tuple)
    print("Hey, I was expecting two values!")
i, j = r

如果你是想检查返回值中是否有 None,那么可以在 if 语句中检查 None in (i, j)

撰写回答