单个下划线“ _”是Python中的内置变量吗?

单个下划线“ _”是Python中的内置变量吗?,第1张

单个下划线“ _”是Python中的内置变量吗?

在标准的Python REPL,

_
代表最后一个返回值-在您叫点
len(_)
_
很值
'abc'

例如:

>>> 1010>>> _10>>> _ + 515>>> _ + 520

这是通过处理

sys.displayhook
,以及
_
可变进的
builtins
事情就像命名空间
int
sum
,这就是为什么你不能在找到它
globals()

请注意,Python 脚本中 没有此类功能。在脚本中,

_
没有特殊含义,并且不会自动设置为上一条语句产生的值。

另外,

_
如果您想像上面那样使用它,请当心在REPL中重新分配

>>> _ = "underscore">>> 1010>>> _ + 5Traceback (most recent call last):  File "<pyshell#6>", line 1, in <module>    _ + 5TypeError: cannot concatenate 'str' and 'int' objects

这将创建一个全局变量,将其隐藏

_
在内置变量中。要撤消分配(并
_
从全局变量中删除),您必须:

>>> del _

那么功能将恢复正常(

builtins._
将再次显示)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存