Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“单下划线”的目的是什么_&引用;Python中的变量?_Python_Variables_Naming Conventions_Metasyntactic Variable - Fatal编程技术网

“单下划线”的目的是什么_&引用;Python中的变量?

“单下划线”的目的是什么_&引用;Python中的变量?,python,variables,naming-conventions,metasyntactic-variable,Python,Variables,Naming Conventions,Metasyntactic Variable,在本代码中,的之后的\uu是什么意思 if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1 它只是一个变量名,在python中,对一次性变量使用是一种惯例。它只是表明循环变量实际上没有被使用。它只是一个变量名,在python中,对一次性变量使用\u是常规做法。它只是表明循环变量实际上没有被使用。\uu在Python中有三种主要的常规用法: 将最后执行的表达式的结果保存在交互式 口译员会议(见附件)。这一先例是

在本代码中,的
之后的
\uu
是什么意思

if tbh.bag:
    n = 0
    for _ in tbh.bag.atom_set():
        n += 1

它只是一个变量名,在python中,对一次性变量使用
是一种惯例。它只是表明循环变量实际上没有被使用。

它只是一个变量名,在python中,对一次性变量使用
\u
是常规做法。它只是表明循环变量实际上没有被使用。

\uu
在Python中有三种主要的常规用法:

  • 将最后执行的表达式的结果保存在交互式 口译员会议(见附件)。这一先例是由标准的CPython制定的 口译员和其他口译员也纷纷效仿

  • 有关i18n中的翻译查找(请参阅 例如,文档),如代码中的

    raise forms.ValidationError(_("Please enter a correct username"))
    
  • 作为通用“一次性”变量名:

  • 表示该部分 故意忽略函数的结果(从概念上讲,它被丢弃),如以下代码所示:

    label, has_label, _ = text.partition(':')
    
    def callback(_):
        return True
    
  • 作为函数定义的一部分(使用
    def
    lambda
    ),其中 签名是固定的(例如通过回调或父类API),但是 这个特定的函数实现不需要所有的 参数,如代码中所示:

    label, has_label, _ = text.partition(':')
    
    def callback(_):
        return True
    
    [很长一段时间,这个答案没有列出这个用例,但正如前面提到的,它经常出现,值得明确列出。]

  • 此用例可能与翻译查找用例冲突,因此有必要避免在任何也将其用于i18n翻译的代码块中使用
    \uu
    作为一次性变量(许多人喜欢使用双下划线,
    \u
    ,正是出于这个原因,将其作为一次性变量)

    linter经常认识到这个用例。例如,
    year,month,day=date()
    将在代码后面未使用
    day
    时发出lint警告。如果确实不需要
    day
    ,那么修复方法是写入
    年、月、u=date()
    。与lambda函数相同,
    lambda arg:1.0
    创建一个需要一个参数但不使用它的函数,这将被lint捕获。解决方法是编写
    lambda:1.0
    。未使用的变量通常隐藏错误/输入错误(例如,在下一行中设置
    day
    ,但使用
    dya


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

  • 将最后执行的表达式的结果保存在交互式 口译员会议(见附件)。这一先例是由标准的CPython制定的 口译员和其他口译员也纷纷效仿

  • 有关i18n中的翻译查找(请参阅 例如,文档),如代码中的

    raise forms.ValidationError(_("Please enter a correct username"))
    
  • 作为通用“一次性”变量名:

  • 表示该部分 故意忽略函数的结果(从概念上讲,它被丢弃),如以下代码所示:

    label, has_label, _ = text.partition(':')
    
    def callback(_):
        return True
    
  • 作为函数定义的一部分(使用
    def
    lambda
    ),其中 签名是固定的(例如通过回调或父类API),但是 这个特定的函数实现不需要所有的 参数,如代码中所示:

    label, has_label, _ = text.partition(':')
    
    def callback(_):
        return True
    
    [很长一段时间,这个答案没有列出这个用例,但正如前面提到的,它经常出现,值得明确列出。]

  • 此用例可能与翻译查找用例冲突,因此有必要避免在任何也将其用于i18n翻译的代码块中使用
    \uu
    作为一次性变量(许多人喜欢使用双下划线,
    \u
    ,正是出于这个原因,将其作为一次性变量)

    linter经常认识到这个用例。例如,
    year,month,day=date()
    将在代码后面未使用
    day
    时发出lint警告。如果确实不需要
    day
    ,那么修复方法是写入
    年、月、u=date()
    。与lambda函数相同,
    lambda arg:1.0
    创建一个需要一个参数但不使用它的函数,这将被lint捕获。解决方法是编写
    lambda:1.0
    。未使用的变量通常隐藏错误/输入错误(例如,在下一行中设置
    day
    ,但使用
    dya


    在Python中,下划线
    被视为“我不在乎””或“一次性”变量

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

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

      >>> 10 
      10
      
      >>> _ 
      10
      
      >>> _ * 3 
      30
      
      解包时忽略一个值

      忽略索引


    下划线
    在Python中被视为“我不在乎””或“一次性”变量

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

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

      >>> 10 
      10
      
      >>> _ 
      10
      
      >>> _ * 3 
      30
      
      解包时忽略一个值

      忽略索引


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

  • 用于在解释器中存储最后一个表达式的值

  • 用于忽略特定值。(所谓“我不在乎”)

  • 赋予变量或函数名特殊的含义和函数

  • 用作“国际化(i18n)”或“本地化(l10n)”功能

  • 分隔数字文字值的数字


  • 这是一篇很好的文章,其中有作者的示例。

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