“单下划线”的目的是什么_&引用;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种情况