You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中嵌套调用print(print("Hello"))为何输出hello和None?

Python 双重print函数运行逻辑解答

Python执行嵌套函数调用时,会优先从最内层的参数开始计算,再将计算结果传入外层函数执行,这段代码的运行步骤如下:

  • 第一步执行内层的print("Hello"):
    1. 执行print的内置逻辑,将传入的字符串Hello输出到控制台,此时你会看到第一行输出Hello
    2. print属于无返回值的内置函数,Python中所有没有显式定义return返回内容的函数,默认返回值都是None,因此内层函数执行完成后,会把None作为参数传给外层的print
  • 第二步执行外层的print():
    1. 接收到的入参就是内层函数返回的None,因此会执行打印逻辑,输出第二行结果None

你也可以把嵌套代码拆分开验证逻辑,等效代码如下:

# 先执行内层print,同时拿到它的返回值
inner_return = print("Hello")
# 此时控制台已经输出了第一行Hello,inner_return的值为None
print(inner_return)
# 控制台输出第二行None

运行拆分后的代码,得到的输出和你贴的结果完全一致。


内容的提问来源于stack exchange,提问作者draw electric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:36:07