返回非类型的python函数

返回非类型的python函数,python,recursion,nonetype,Python,Recursion,Nonetype,我已经用python编写了两个递归函数 第一个接受参数,修改它们并返回一个值 def Similarity(string, sstring1, index): if condition1: return index if condition2: #do something Similarity(string, string1, index) 第二种方法获取参数并对全局变量执行操作 def getData(i, value): gl

我已经用python编写了两个递归函数

第一个接受参数,修改它们并返回一个值

def Similarity(string, sstring1, index):
    if condition1:
        return index
    if condition2:
        #do something
    Similarity(string, string1, index)
第二种方法获取参数并对全局变量执行操作

def getData(i, value):
    global dataList
    if condition:
        return list(suffixList)
    #do something
    getData(i, value)
这些函数工作得很好,可以完成我需要的精确计算,但总是返回一个noneType。 我还不知道为什么

您没有返回任何内容。始终使用return语句从函数返回值。Python不使用函数中的最后一条语句作为返回值

def getData(i, value):
    global dataList
    if condition:
        return list(suffixList)
    #do something
    return getData(i, value)

如果函数没有显式返回而退出,则返回None。

没有返回smth但没有返回或根本没有返回的函数返回None。如果在满足条件之前尝试调用f=getDatai,value?@pebox11,您编写的不是一个无限循环,是的。返回声明的出现并没有改变这一点。感谢您的澄清