检查字符串是否包含某个值或另一个,语法错误?
我从JavaScript的后端转到Python,现在遇到了一个基本但让人困惑的问题。
我有一个字符串,它的值可能是'left'、'center'或'right'。我想检查这个变量是否包含'left'或'right'。
在JavaScript中,这很简单:
if( str === 'left' || str === 'right' ){}
但是在Python中,我用这个代码却出现了语法错误:
if str == 'left' || str == 'right':
为什么这样不行,正确的写法是什么呢?
1 个回答
13
在Python中,逻辑“或”运算符叫做 or
。这里没有 ||
这种写法。
if string == 'left' or string == 'right':
## ^^
顺便提一下,在Python中,这种测试通常写成:
if string in ('left', 'right'):
## in Python ≥3.1, also possible with set literal
## if string in {'left', 'right'}:
另外要注意,str
是Python中的一个内置函数。你应该避免用这个名字来命名变量,以免产生冲突。