检查字符串是否包含某个值或另一个,语法错误?

2 投票
1 回答
14455 浏览
提问于 2025-04-16 06:18

我从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中的一个内置函数。你应该避免用这个名字来命名变量,以免产生冲突。

撰写回答