学径 LearnPath

编程语言基础 / Wiki

print

把值送到屏幕上,使人看见计算的结果;它并不把该值交回给后面的代码。

它是什么

print 是 Python 的内置 函数。括号里的表达式被求值后,结果送到输出区。它改变的是「人看见什么」,不是「程序里还剩下什么值」。对理解计算而言,输出是程序与世界之间最浅的一层接口:思想若不能被看见,就很难被检验。

python
print("观测记录")
print(2 + 3)

名字从哪来

print 在英语里是「印刷」。早期计算机把结果印在纸带或宽行打印机上,这个名字沿用至今。今天多数时候「印」在屏幕、终端或网页的输出区,物理介质变了,方向没有变:仍是从程序到人。

它怎么工作

括号里的表达式先被求值,再显示。print(2 + 3) 先得到整数 5。print("2 + 3") 的引号把内容声明为字符串,机器不再做加法。多个值用逗号分开,输出时默认用空格隔开。

字符串需要成对引号,这不是排版,而是在区分数据与待执行的运算。数字、布尔值、列表 都可以交给 print;解释器会先把它们变成可读的文字。那种文字是给人看的副本,后面的语句并不能自动拿回来当返回值使用。

生活里在哪里

计算器把结果亮在屏上,实验结束时把关键数据抄到黑板上,仪器把读数送到监视器——都是「计算已经发生,必须有一处对人可见」。调试时用 print 窥视某个 变量 的当前值,本质上是同一种接口:让内部状态暂时成为可观测的现象。它方便,但不是把值送回计算的正规通道。

和相近概念的差别

print 给人看。函数 的 return 把值交回给程序。只 print 不 return,调用方用变量去接,常常接到 None:屏幕上有字,并不等于计算得到了可继续使用的结果。

input 是相反方向:从键盘把一行文字收进来。二者合起来,构成最简单的人机对话;真正需要保存、需要批处理的数据,则应进入 文件,而不是只停留在这一次运行的输出区。

常见误会

误会 1:看见输出,就等于程序得到了返回值。

屏幕上的字,后面的代码拿不到,除非用 return 送回,或先赋给变量再打印。

误会 2:print 只能打印字符串。

许多类型都可以显示。解释器负责把值变成文字;文字长得像,并不自动改变值的 类型。

误会 3:打印成功,就等于结果已经存盘。

输出区属于这一次运行。要留下可再次打开的记录,见 文件。

想知道更多

  • 书:埃里克·马瑟斯《Python编程:从入门到实践(第3版)》
  • 书:艾伦·唐尼《像计算机科学家一样思考Python(第2版)》
  • 书:布鲁克希尔《计算机科学概论》

未登录时不会保存学习进度