python函数返回noneType

时间:2012-12-13 15:44:47

标签: 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):
    global dataList
    if condition:
        return list(suffixList)
    #do something
    getData(i, value)

这些函数完美地工作并执行我需要的精确计算但始终返回noneType。 我还没弄清楚原因。

1 个答案:

答案 0 :(得分:9)

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

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

在没有明确return的情况下退出的函数会返回None