正如您在python中定义函数时所知,您应该在代码中放置return
来完成函数。在下面的代码中,我该如何完成功能:
def f(x) :
if x == 0:
print 'yes'
print 'no'
print f(2)
当我在打印后的最后一行中运行此代码时,会出现None
吗?
答案 0 :(得分:6)
您不需要结束该功能,如果解释器遇到不在预期缩进上的行,则该功能将“自动结束”。但是您尝试打印f(2)
的返回值。但是f
会返回None
。所以你打印None
。不要打印该功能,只需调用该功能:f(2)
。
调用f(0)
仍会提供no yes
,因为您在检查0后没有停止执行。使用else
子句或使用return
:
def f(x) :
if x == 0:
print 'yes'
else:
print 'no'
f(2)
答案 1 :(得分:6)
似乎这个问题不适合你的问题。
如果你这样做
print f(2)
打印函数返回的任何内容。在您的情况下,函数返回“nothing”,因此它隐式返回None
- 然后按要求打印。
我看到两个解决方案:
请勿打印您不想要的内容:
def f(x) :
if x == 0:
print 'yes'
else:
print 'no'
f(2)
如果您希望调用者打印出来,请返回一些有用的内容:
def f(x) :
if x == 0:
return 'yes'
return 'no'
print f(2)
答案 2 :(得分:0)
因为您正在打印函数的返回而您没有返回任何内容并且它打印None
你应该称它为内部打印,打印你想要的print.
答案 3 :(得分:-2)
Python的美妙之处在于它要求您正确格式化代码。什么都需要使用适当的缩进。您所需要做的就是:
def f(x) :
if x == 0:
print 'yes'
else:
print 'no'
f(3)