【发布时间】:2020-06-13 20:09:37
【问题描述】:
如何防范这种情况? 如果 x=1 没问题,但是当 x=0 时:
def test():
x=0
if (x == 0): return 0
else:
return 'abc', 100, 200
a, b, c = test()
print(b)
TypeError: cannot unpack non-iterable int object.
也许这样的解决方案会更好?
class ReturnValue:
def __init__(self):
self.a = "a"
self.b = 100
self.c = 200
def test():
return ReturnValue()
t = test()
if (t):
print("%s, %s, %s" % (t.a,t.b,t.c))
else:
print("error")
【问题讨论】:
-
当
x=0test()将返回0并且a,b,c=0将抛出异常。 -
很明显,当 x=0 时返回一个参数,但函数调用中期望三个参数
-
是的,很清楚,我的意思是如何预防
-
我不知道你的代码目标,但是,简单的方法:if (x == 0): return 0,0,0
-
我检查字符串校验和。如果不正确,如果正确则返回 0,我继续调查并返回几个结果。也许我最好使用一个类来返回结果?
标签: python