2010-03-25 84 views
2

我正在使用python 2.5.2。以下代码无法正常工作。为什么python找不到工作

def findValue(self, text, findText): 
    index = text.find(findText) 
    print index 

虽然findText存在于text,但它仍然会返回None

我已打印textfindText的值,它们存在。

编辑:我已经解决了这个问题。

问题是我打电话像

for i in arr: 
     self.findValue(i,"someText") 

代码的i类型为instance所以这是行不通的。我刚刚将其更改为:

self.findValue(str(i),"someText") 
+1

什么是您使用的text和findText的值? – 2010-03-25 07:01:57

+2

你能举一个简短但完整的例子吗?我们可以运行自己的东西? – 2010-03-25 07:05:43

+0

是否有人可以将此问题作为问题删除,因为我无法选择任何答案 – developer 2010-03-25 07:37:13

回答

0

我修复了这个问题。

问题是我打电话像

for i in arr: 
     self.findValue(i,"someText") 

代码的i类型实例所以这是行不通的。我刚刚将其更改为:

self.findValue(str(i),"someText") 
5

您没有从函数返回值,而是仅打印它。这意味着该函数的返回值将是None。

尝试在代码的末尾添加return index

def myfind(self, text, findText): 
    index = text.find(findText) 
    return index 
1

Python不自动返回最后一个变量,你必须明确地使用return index

而且如果.find失败,它应该返回-1而不是None,所以最有可能,问题是你的返回部分,不在.find