首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印( dir() )和dir()之间的差异

打印( dir() )和dir()之间的差异
EN

Stack Overflow用户
提问于 2018-06-25 18:02:41
回答 2查看 171关注 0票数 1

在中,执行dir()会打印一个名称列表。但是在脚本中,dir()不直接提供任何输出,我必须使用print(dir())

不仅仅是dir(),其他内置函数的行为方式也是一样的。

shell是否以某种特殊的方式执行这些函数?它是否隐式地将这些函数包装在其他函数中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-25 18:05:58

交互式shell是一个名为REPL的更一般概念的示例,它代表:

  • Read
  • E估值
  • Print
  • Loop

上面的P是交互式shell和常规脚本之间的区别。外壳正在为您调用print

票数 6
EN

Stack Overflow用户

发布于 2018-06-25 18:10:33

这个问题完全不是针对dir内置的。

在Python中运行代码时,不属于NoneType的每个语句的结果都会被回显回shell,即打印出来。例如,请参见以下内容。

代码语言:javascript
复制
>>> 2 + 3
5
>>> 2 + 3; 2 + 6
5
8

在执行类似print(2 + 3)的操作时,您将使用内置的内容向终端(或输出流所在的地方)显示2 + 3的结果,然后print返回一个None值,该值不会被打印出来。您可以通过手动打印出任何print返回的内容来覆盖此操作。

代码语言:javascript
复制
>>> print(2 + 3)
5
>>> print(print(2 + 3))
5
None

这对于任何语句都是一样的。

现在,当您直接执行一个文件(而不是通过REPL )时,它绕过了将每个语句的输出输送到标准输出的步骤。因此,在文件中执行dir (或任何其他函数)不会输出其结果,除非您通过print或其他方式显式地告诉它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51029414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档