2024-04-17 22:16:22 发布
网友
在这段代码中,_后面的for是什么意思?
_
for
if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1
在Python中,下划线_被视为“I don't Care”或“Throwaway”变量
python解释器将最后一个表达式值存储到名为_的特殊变量中。
>>> 10 10 >>> _ 10 >>> _ * 3 30
下划线_也用于忽略特定值。如果不需要特定值或不使用这些值,只需将这些值赋给下划线即可。
解包时忽略值
x, _, y = (1, 2, 3) >>> x 1 >>> y 3
忽略索引
for _ in range(10): do_something()
_在Python中有4个主要的常规用途:
raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':')
def
lambda
callback = lambda _: True
(很长一段时间以来,这个答案只列出了前三个用例,但是第四个用例出现的频率足够高,如here所述,值得显式列出)
后者的“抛出变量或参数名”用例可能与translation lookup用例冲突,因此有必要避免在任何也将其用于i18n翻译的代码块中使用_作为抛出变量(许多人更喜欢使用双下划线,__,正是因为这个原因,他们的抛出变量)。
__
这只是一个变量名,在python中,使用_作为一次性变量是很常规的。它只是表示循环变量实际上没有被使用。
在Python中,下划线
_
被视为“I don't Care”或“Throwaway”变量python解释器将最后一个表达式值存储到名为
_
的特殊变量中。下划线
_
也用于忽略特定值。如果不需要特定值或不使用这些值,只需将这些值赋给下划线即可。解包时忽略值
忽略索引
_
在Python中有4个主要的常规用途:raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':')
。def
或lambda
),其中 签名是固定的(例如通过回调或父类API),但是 这个特定的函数实现不需要 参数,如代码中的:callback = lambda _: True
(很长一段时间以来,这个答案只列出了前三个用例,但是第四个用例出现的频率足够高,如here所述,值得显式列出)
后者的“抛出变量或参数名”用例可能与translation lookup用例冲突,因此有必要避免在任何也将其用于i18n翻译的代码块中使用
_
作为抛出变量(许多人更喜欢使用双下划线,__
,正是因为这个原因,他们的抛出变量)。这只是一个变量名,在python中,使用
_
作为一次性变量是很常规的。它只是表示循环变量实际上没有被使用。相关问题 更多 >
编程相关推荐