为什么 Python find 不工作
我正在使用 python 2.5.2。下面的代码不工作。
def findValue(self, text, findText):
index = text.find(findText)
print index
虽然 findText
在 text
中是存在的,但它仍然返回 None
。
我打印了 text
和 findText
的值,它们确实存在。
编辑:我已经解决了这个问题。
问题出在我调用代码的方式上:
for i in arr:
self.findValue(i,"someText")
因为 i
的类型是 instance
,所以这样不行。我只是把它改成了:
self.findValue(str(i),"someText")
3 个回答
1
Python不会自动返回最后一个变量,你需要明确地使用 return index
来返回它。
如果 .find
方法没有找到东西,它应该返回 -1
,而不是 None
。所以很可能问题出在你的返回部分,而不是 .find
方法。
5
你没有从你的函数中返回一个值,你只是把它打印出来。这意味着这个函数的返回值是None,也就是“没有值”。
试着在你的代码最后加上return index
。
def myfind(self, text, findText):
index = text.find(findText)
return index
0
我已经解决了这个问题。
问题出在我调用代码的方式上,像这样:
for i in arr:
self.findValue(i,"someText")
因为 i
的类型是实例,所以这样做不行。我只是把它改成了:
self.findValue(str(i),"someText")