What is the meaning of _
after for
in this code?
if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1
What is the meaning of _
after for
in this code?
if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1
_
has 3 main conventional uses in Python:
raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':')
The latter two purposes can conflict, so it is necessary to avoid using _
as a throwaway variable in any code block that also uses it for i18n translation (many folks prefer a double-underscore, __
, as their throwaway variable for exactly this reason).
It's just a variable name, and it's conventional in python to use _
for throwaway variables. It just indicates that the loop variable isn't actually used.
Underscore _
is considered as "I don't Care" or "Throwaway" variable in Python
_
.>>> 10 10
>>> _ 10
>>> _ * 3 30
_
is also used for ignoring the specific values. If you don’t need the specific values or the values are not used, just assign the values to underscore.Ignore a value when unpacking
x, _, y = (1, 2, 3)
>>>x 1
>>>y 3
Ignore the index
for _ in range(10):
do_something()
There are 5 cases for using the underscore in Python.
For storing the value of last expression in interpreter.
For ignoring the specific values. (so-called “I don’t care”)
To give special meanings and functions to name of vartiables or functions.
To use as ‘Internationalization(i18n)’ or ‘Localization(l10n)’ functions.
To separate the digits of number literal value.
Here is a nice article with examples by mingrammer.