字符串比较python的意外行为

时间:2015-12-03 23:31:38

标签: string python-3.x comparison

这是Python中一个非常简单的函数

def not_string(str1):
    if str1[0:3] is "not":
        return str1
    else:
        return 'not ' + str1

str1 = 'not bad'
print(not_string(str1))

上面代码的输出应该是“不错”,但Python显示输出“并非坏。有人能解释我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:2)

Python中的is运算符测试对象的相等性而不是值的相等性。您想要的是if语句为if str1[0:3] == "not":