当显式返回语句存在时,短Python函数返回None

时间:2015-12-20 16:59:01

标签: python return nonetype

我正在使用CodeWars kata(递归反向字符串),我一直得到错误的答案。我有以下文件test.py

def reverse(s):
    if len(s) == 1:
        return s
    return s

print(reverse("dlrow olleh"))

从新终端执行的整个执行,与test.py相同的目录如下:

brandonheinrich:~/workspace (nesting) $ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
None
>>> 
brandonheinrich:~/workspace (nesting) $ 

直接运行时会发生同样的行为。

brandonheinrich:~/workspace (nesting) $ python test.py
None
brandonheinrich:~/workspace (nesting) $ 

根据要求:

>>> print repr(open("test.py").read())
'def reverse(s):\n    if len(s) == 1:\n        return s\n\treturn s\n\t\nprint(reverse("dlrow olleh"))'

有人可以解释为什么返回None

它是相关的,我在CodeWars解释器和在Cloud9上运行的Python 2.7.6上都有这个错误。

0 个答案:

没有答案