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

时间:2010-10-30 09:40:19

标签: python if-statement

我来自一个javascript后端到Python,我遇到了一个基本但令人困惑的问题

我有一个字符串,可以包含'left','center'或'right'的值。我试图测试变量是否包含'left'或'right'。

简而言之:

if( str === 'left' || str === 'right' ){}

然而,在python中我得到了一个语法错误:

if str == 'left' || str == 'right':

为什么这不起作用,什么是正确的语法?

1 个答案:

答案 0 :(得分:11)

Python的logical OR operator称为or。没有||

if string == 'left' or string == 'right':
##                  ^^
BTW,在Python中,这种测试通常写成:

if string in ('left', 'right'):

## in Python ≥3.1, also possible with set literal
## if string in {'left', 'right'}:

另请注意Python中的str is a built-in function。你应该避免命名一个与它们发生冲突的变量。