什么_和__在PYTHON中意味着什么

tdo*_*ong 11 python

当我输入___在python shell中我得到返回的值.例如:

>>> _
2
>>>__
8
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

Mar*_*tin 15

如果您使用的是IPython,那么以下GLOBAL变量始终存在:

  • _ (单个下划线):存储以前的输出,如Python的默认解释器.
  • __ (两个下划线):下一个上一个.
  • ___ (三个下划线):下一个下一个上一个.

从IPython文档中了解更多相关信息:输出缓存系统.


Bar*_*zKP 6

从理论上讲,这些只是普通的变量名.按照惯例,单个下划线用作不关心变量.例如,如果一个函数返回一个元组,而你只对一个元素感兴趣,那么忽略另一个元素的Pythonic方法是:

_, x = fun()
Run Code Online (Sandbox Code Playgroud)

在一些解释___具有特殊的含义,和以往的评价的存储值.

  • 值得注意的是,这不仅是(或最初)"pythonic".在某些不允许破坏性赋值的语言中,`_`是唯一可以重新分配的变量,但永远无法读取. (2认同)