我有以下问题 - 为什么以下代码会在param2上抛出异常?:
def paramcheck(param1, param2):
try:
if param1:
print('param1: ' + param1)
if param2:
print('param2: ' + param2)
except:
print('error')
paramcheck(False, True)
我正在使用python 3.4。
谢谢!
答案 0 :(得分:2)
如果您没有撤消错误消息,那么您会收到一条有用的消息:
>>> param1 = True
>>> print('param1: ' + param1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'bool' objects
正如错误所说,你不能在Python中用boole连接字符串。您必须手动转换布尔值:
print('param1: ' + str(param1))
或者您可以使用格式化运算符:
print('param1: %s' % (param1,))
print('param1: {}'.format(param1))