Python基础:如何检查函数是否返回多个值?
我知道一些基础知识...;-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)
。