>>> strs1 = "your future doesn't look good."
>>> strs2 = "Your FUTURE looks good."
>>> 'FUTURE' or 'future' in strs1
'FUTURE'
>>> 'Foobar' or 'future' in strs1
'Foobar'
>>> 'Foobar' or 'cat' in strs1
'Foobar'
>>> '' or 'cat' in strs1 # empty string is a falsey value,
False # so now it checks the next condition
您的if语句应理解为
非空字符串计算为
True
,因此if 'FUTURE'
是冗余的你想要:
用途:
或者简单地说:
失败原因:
实际上相当于:
因为第一个条件总是True,所以下一个条件永远不会被检查。事实上,无论字符串包含什么,if条件总是True。你知道吗
在python中,非空字符串总是
True
,一旦找到真值,or
操作就会短路。你知道吗请注意:
is
True
,asin
运算符查找不完全匹配的子字符串。你知道吗使用
regex
或str.split
处理此类情况。你知道吗相关问题 更多 >
编程相关推荐