关于python返回值的问题 10

代码:defspam():print('42')print(spam())为什么返回的是42None而不是42为什么多了一行None呢?... 代码:
def spam():
print('42')
print(spam())

为什么返回的是
42
None

而不是
42

为什么多了一行None呢?
展开
 我来答
hataki77
2018-07-06
知道答主
回答量:24
采纳率:60%
帮助的人:4.2万
展开全部
因为你的格式不对,python是靠缩进来判断代码块范围的,很显然,你的print并没有缩进,于是系统会认为你的函数中的定义为空,而是先输出一个print,然后在输出一个函数,函数返回none,所以会多一个42,你把print缩进再试试。
追问

如果是缩进问题就直接运行报错了,这里是百度显示不是完整代码。

def spam():
print('42')

print(spam())

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式