Python-Can';似乎无法让return语句在简单函数中工作?
我有一个使用if语句访问字典的简单函数Python-Can';似乎无法让return语句在简单函数中工作?,python,dictionary,if-statement,return,Python,Dictionary,If Statement,Return,我有一个使用if语句访问字典的简单函数 langdict = {"english": "Hello, World!", "french":"Bonjour, tout le monde!"} def hello(language): if language in langdict: return langdict[language] else: return None 现在,一切都很好,很明显,打印报表非常漂亮。但是当我在第5行和第
langdict = {"english": "Hello, World!", "french":"Bonjour, tout le monde!"}
def hello(language):
if language in langdict:
return langdict[language]
else:
return None
现在,一切都很好,很明显,打印报表非常漂亮。但是当我在第5行和第7行使用return语句时,什么也没有发生。我遗漏了什么?你可以用这个
def hello(language):
return langdict.get(language, None)
print hello('english') #Hello, World!
print hello('japanese') #None
return将从函数中返回该值,print将在控制台中显示该值我正在使用python 2.7,无法再现您的错误: 打电话
hello("english")
我得到了预期的结果“你好,世界!”代码>例如,在调用时
hello("german")
结果为无/空
如果要将结果存储到变量中,可以执行以下操作:
result = hello("english")
什么都没发生?你的意思是什么都没有打印对吗?顺便说一句,用返回langdict.get(语言)
替换它。它返回None
如果没有找到不需要的所有内容是的,第一个返回语句出于某种原因没有打印任何内容。return
不打印任何内容,print
打印到屏幕上。因此,要查看输出,您需要在函数外按照hello(“english”)
或hello(“french”)
的行进行语句。简而言之,return
只返回调用函数的位置的值(在这里它从未被调用),而print
将它打印到屏幕。@user2951723它只在交互式解释器中打印。这根本不回答问题。这只是修改代码,使其更具表现力和简洁性,但并没有找到解决方案。