python中str的find()
今天学习语法的时候发现字符串⾃带函数find和操作符in功能⼗分近似,⼏乎⼀模⼀样
if 'a' in name:
print 'Yes, it contains the string "a"'
if name.find('war') != -1:
print 'Yes, it contains the string "war"'
我就想,不可能出现完全⼀样功能的函数吧,要不意义何在?果不其然,经查证find()是返回查询字符串第⼀个字符在被查询字符串中第⼀次出现的位置
举个栗⼦:
按照⼀般理解:abc.find('')返回的要么是0要么是1
abc = "qwertyuiopqwertyuiop"
if abc.find('yui'):#判断是否包含yui字符串
  print("Yes")
else:
  print("No")
结果:
⼀切正常
但如果:
abc = "qwertyuiopqwertyuiop"
if abc.find('abc'):#判断是否包含yui字符串
  print("Yes")
else:
  print("No")
你会发现结果还是:
这是因为find()若不到对应字符串则返回-1
正确的判断语句应该是:
if abc.find("abc") != -1
...
...
⽽且find()若到对应字符串返回的也不是1,那是什么呢?之前有提到,返回的是查询字符串在被查询字符串中第⼀次出现的位置
举个栗⼦:
字符串和函数是什么abc = 'qwertyuiopqwertyuiop'
print(abc.find('yui'))
结果:
打印的是y在字符串‘qwertyuiopqwertyuiop’中第⼀次出现的位置,注意python从0开始

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。