为了账号安全,请及时绑定邮箱和手机立即绑定

Python中单个下划线“_”变量的目的是什么?

Python中单个下划线“_”变量的目的是什么?

aluckdog 2019-05-27 16:51:53
Python中单个下划线“_”变量的目的是什么?在这段代码中,_after 的含义是什么for?if tbh.bag:    n = 0    for _ in tbh.bag.atom_set():       n += 1
查看完整描述

4 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

_ Python中有3个主要的常规用途:

  1. 在交互式解释器会话中保存最后执行的表达式(/ statement)的结果。这个先例是由标准的CPython口译员设定的,其他口译员也纷纷效仿

  2. 对于i18n中的翻译查找( 例如,参见 gettext文档),如代码所示: raise forms.ValidationError(_("Please enter a correct username"))

  3. 作为通用的“一次性”变量名称,表示功能结果的一部分被故意忽略,如代码所示: label, has_label, _ = text.partition(':')

后两个目的可能会发生冲突,因此有必要避免_在任何代码块中使用它作为一次性变量,并将其用于i18n转换(许多人更喜欢双下划线__,因为它们是一次性变量,正是出于这个原因)。


查看完整回答
反对 回复 2019-05-27
?
ibeautiful

TA贡献1993条经验 获得超5个赞

它只是一个变量名,在python _中常用于一次性变量。它只是表明实际上没有使用循环变量。


查看完整回答
反对 回复 2019-05-27
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

在Python中,下划线_被视为“ 我不关心 ”或“ 丢失 ”变量

  • python解释器将最后一个表达式值存储到名为的特殊变量中_

    >>> 10 10>>> _ 
    10>>> _ * 3 30
  • 下划线_也用于忽略特定值。如果您不需要特定值或未使用这些值,只需将值分配给下划线即可。

    解包时忽略一个值

    x, _, y = (1, 2, 3)>>> x1>>> y 
    3

    忽略索引

    for _ in range(10):     
        do_something()


查看完整回答
反对 回复 2019-05-27
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

在Python中使用下划线有5种情况。

  1. 用于存储解释器中最后一个表达式的值。

  2. 忽略具体值。(所谓的“我不在乎”)

  3. 赋予vartiables或函数名称特殊的含义和功能。

  4. 用作'国际化(i18n)'或'本地化(l10n)'功能。

  5. 分隔数字文字值的数字。

是一篇很好的文章,有mingrammer的例子。


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 2011 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信