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

发布于 2021-02-02 23:24:20

此代码中的_after 是什么意思for

if tbh.bag:
   n = 0
   for _ in tbh.bag.atom_set():
      n += 1
关注者
0
被浏览
221
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    _在Python中有4种主要的常规用法:

    1. 在交互式解释器会话中保存上次执行的表达式的结果。此先例是由标准CPython解释器设定的,其他解释器也纷纷效仿
    2. 在i18n中进行翻译查找( 例如,参见 gettext文档),如代码所示: raise forms.ValidationError(_("Please enter a correct username"))
    3. 作为通用“一次性”的变量名指示函数结果的一部分被故意忽略(在概念上,它被丢弃。),如类似的代码: label, has_label, _ = text.partition(':')
    4. 作为函数定义的一部分(使用def或lambda),其中的签名是固定的(例如,通过回调或父类API),但是这种特定的函数实现不需要所有参数,如代码所示:callback = lambda _: True
      (很长一段时间这个答案只列出的前三个用例,但第四的情况下想出往往不够,如上所述这里,将值得明确列出)

    后者的“抛弃型变量或参数名称”用例可能与翻译查找用例冲突,因此有必要避免_在也将其用于i18n转换的任何代码块中将其用作抛弃型变量(许多人更喜欢使用双下划线,因为正是因为这个原因,它们的一次性变量是) 。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看