
只是习惯在打完一个字母或者一个汉字之后,按一下空格键。不知道为什么第二行打印的结果是对的,但是第一行打印的结果是错的。

只是习惯在打完一个字母或者一个汉字之后,按一下空格键。不知道为什么第二行打印的结果是对的,但是第一行打印的结果是错的。
因为' 冰 '(最前面和最后面有个空格) 这个字符串,没有在字符串' 冰冰 '(同样最前面和最后面有个空格) 中出现,所以打印出的就是False;
判断字符串时,会将里面的空格和汉字一起作为一个整体来判断。
测试如下:
参考链接:
https://www.cnblogs.com/liusingbon/p/13166488.html
https://www.runoob.com/python3/python-substring-check.html
name=' 冰冰 '
#print(' six ' in name)
#print(' 冰冰 ' in name)
#print(' 冰水 ' in name)
# https://www.cnblogs.com/liusingbon/p/13166488.html
# https://www.runoob.com/python3/python-substring-check.html
# 因为字符串' 冰 ',不是字符串' 冰冰 '的子串
# 所以打印的是False, 判断字符串时,
# 会将汉字'冰'前后的空格,和汉字'冰'作为一个整体来判断
# 而它在字符串name并不存在,所以打印的就是False
print(' 冰 ' in name)
# 如果将' 冰冰 '改为' 冰 冰 ',则打印的是True
# 因为字符串' 冰 '这个整体,在字符串' 冰 冰 '中是存在的
print(' 冰 ' in ' 冰 冰 ')
print('冰' in name)
