2015-12-03 2 views
0

Это очень простая функция в PythonНеожиданное поведение со строками Comparision питона

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

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

Выход выше код должен быть «не плохо», но Python показывает выход, как «не не плохо. Может кто-нибудь объяснить, что я здесь отсутствует?

ответ

2

is оператора в тестах Python для объекта равенства, а не значение равенства. То, что вы хотите для вашего если заявление будет if str1[0:3] == "not":

Смежные вопросы