让函数 return 什么都没有,甚至 Python 中的 "None" 2.7.10 - 可能吗?
Let a function return nothing, not even "None" in Python 2.7.10 - possible?
有什么方法可以防止 python 函数变成 return 任何东西 ,甚至 None
?我需要这样的输出:
[...]
[...]
但我总是得到:
[...]
None
[...]
如果需要,我也可以上传源代码,但是有点长。
提前感谢您的回答!
没有。只需检查 if output is None:
并相应地更改输出。
在 Python 中,表达式 总是 必须产生结果。 Function calls are expressions,这里也不例外。因此,任何可调用对象,包括函数,都会产生一个结果,即使该结果是 None
。来自文档:
A call always returns some value, possibly None
, unless it raises an exception.
您可以只测试 None
:
result = functioncall()
if result is not None:
# ...
好吧,看看你的代码,我假设你正在打印生成最终结果的最后一行代码 "Goodbye! Total score: 9 points."。
您需要做的不是打印 return 行而是打印函数调用,如下所示。
也总是 return 函数,无论是字符串、整数还是您设置的任何类型的数据。
如果您选择不 return 任何东西,它将始终 return None。
因为如果你想知道 \n 是什么,它会打开一个新行,因为你似乎想要 space 在你的游戏会话之间的一行。
如果不是,您可以摆脱 \n 它不会影响结果。
无论如何希望这对您有所帮助!
def no_name():
# return the line of code that generates this outcome instead of printing it
#to get rid of the None.
return "Goodbye! Total score: 9 points.\n"
print no_name()
有什么方法可以防止 python 函数变成 return 任何东西 ,甚至 None
?我需要这样的输出:
[...] [...]
但我总是得到:
[...] None [...]
如果需要,我也可以上传源代码,但是有点长。
提前感谢您的回答!
没有。只需检查 if output is None:
并相应地更改输出。
在 Python 中,表达式 总是 必须产生结果。 Function calls are expressions,这里也不例外。因此,任何可调用对象,包括函数,都会产生一个结果,即使该结果是 None
。来自文档:
A call always returns some value, possibly
None
, unless it raises an exception.
您可以只测试 None
:
result = functioncall()
if result is not None:
# ...
好吧,看看你的代码,我假设你正在打印生成最终结果的最后一行代码 "Goodbye! Total score: 9 points."。 您需要做的不是打印 return 行而是打印函数调用,如下所示。 也总是 return 函数,无论是字符串、整数还是您设置的任何类型的数据。 如果您选择不 return 任何东西,它将始终 return None。 因为如果你想知道 \n 是什么,它会打开一个新行,因为你似乎想要 space 在你的游戏会话之间的一行。 如果不是,您可以摆脱 \n 它不会影响结果。 无论如何希望这对您有所帮助!
def no_name():
# return the line of code that generates this outcome instead of printing it
#to get rid of the None.
return "Goodbye! Total score: 9 points.\n"
print no_name()