Python条件评估

时间:2017-09-05 19:55:15

标签: python if-statement conditional

我希望下面的代码能够正常工作,因为第一个条件是假的,但它通过IndexError: string index out of range。我错过了什么?

 a = False
 sample_strign = 'test'
 if (a == True) & (sample_strign[7] == 's'):
        print('foo')

2 个答案:

答案 0 :(得分:6)

&是一个逐位运算符。如果您希望解释器“短路”逻辑,请使用逻辑运算符and

if a and (sample_strign[7] == 's'):

答案 1 :(得分:1)

sameple_strign没有引发异常的第7个索引,你应该使用类似的东西:

if a and len(sample_strign) > 7:
    if sample_strign[7] == 's':
        print('foo')