为什么这个函数返回None,但是当我输出它手动执行的操作时,它会返回不同的东西?

时间:2015-04-25 06:45:40

标签: python function

这是我的代码:

dict = {
"a":"1"
}

def dict_find(x):
    print dict.get('x')

dict_find('a')
print dict.get('a')

dict_find('a')的输出为None,但手动将其标记为print dict.get('a')的输出为1

3 个答案:

答案 0 :(得分:5)

这是因为你的函数不使用变量x而是字符串'x',它不是dict的关键字。

此外,您的函数没有return语句。没有return语句的函数总是返回None

此外,您不应将dict用作变量名称,因为它是内置类型。

dic = {"a":"1"}
def dict_find(x):
    return dic.get(x)

答案 1 :(得分:2)

在您的函数dict_find中,您使用字符串'x'作为dict.get的参数,而不是提交的参数xdict.get返回{{1}对于不属于字典的键。

答案 2 :(得分:2)

您正在寻找None,而不是'x'(请注意引号)。

更好的代码版本可能是:

x