【问题标题】:Return value of print statement in PythonPython中print语句的返回值
【发布时间】:2025-11-30 12:20:03
【问题描述】:

在一本书中,我发现print(print("any text")) 返回函数内文本的大小。即 8 这里

但在另一本书中我发现它返回None

那么哪个答案是正确的? 或者第二个答案是否只是一个更新的答案......?

【问题讨论】:

  • 为什么不在控制台试一试呢?
  • 你确定第一本书有print(print(而不是print(output.write(
  • 当你对返回值或参数有困惑时,1)查看官方文档 2)如果那里不清楚,请编写程序尝试相同 3)发送补丁到 Python 修复文档
  • Python 中的打印语句 ---> 不,您使用的是 Python 3,所以 print() 是一个函数,而不是语句。如果您在 Python 2 中运行您的代码,它将引发 SyntaxError: invalid syntax
  • 在 Python 2.x 中,print 是一个语句,不返回值。如果您在 2.6 中尝试 print(print("x")) 会导致语法错误。在 3.x 中,print 是一个函数,因此 can 有一个返回值,但它没有......所以在 3.x 中是的 print() function 返回None。你一定是对这个问题的第一部分有误,否则你的书是不正确的。

标签: python printing return


【解决方案1】:

print() 函数不返回任何内容(所以它是None)。当您打印返回None 的函数的输出时,请确保输出为None。所以第二本书是正确的。

>>> print(print())

None

如果你想得到一个字符串的长度,你应该使用len()函数:

>>> print(len("any text"))
8

【讨论】: