What is the meaning of
for in this code?
if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1
_ has 4 main conventional uses in Python:
raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':').
lambda), where the signature is fixed (e.g. by a callback or parent class API), but this particular function implementation doesn't need all of the parameters, as in code like:
callback = lambda _: True
(For a long time this answer only listed the first three use cases, but the fourth case came up often enough, as noted here, to be worth listing explicitly)
The latter "throwaway variable or parameter name" uses cases can conflict with the translation lookup use case, 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.