Quelle est la signification de _
après for
dans ce code?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
_
a 4 utilisations conventionnelles principales en Python:
raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':')
.def
ou lambda
), où la signature est fixée (par exemple par un API de rappel ou de classe parent), mais cette implémentation de fonction particulière ne nécessite pas tous les éléments paramètres, comme dans le code comme: callback = lambda _: True
(Pendant longtemps, cette réponse ne répertoriait que les trois premiers cas d'utilisation, mais le quatrième cas est apparu assez souvent, comme indiqué ici , pour être répertorié explicitement)
Les derniers cas d'utilisation de "variable ou nom de paramètre à jeter" peuvent entrer en conflit avec le cas d'utilisation de recherche de traduction, il est donc nécessaire d'éviter d'utiliser _
comme variable à jeter dans tout bloc de code qui l'utilise également pour la traduction i18n (beaucoup de personnes préférez un double soulignement, __
, comme leur variable à jeter immédiatement pour cette raison).
C'est juste un nom de variable, et il est classique dans python d'utiliser _
pour les variables à jeter. Cela indique simplement que la variable de boucle n'est pas réellement utilisée.
Le trait de soulignement _
est considéré comme une variable "je ne m'en soucie pas" ou "rejetée" en Python
L’interprète python enregistre la dernière valeur d’expression dans la variable spéciale appelée _
.
>>> 10
10
>>> _
10
>>> _ * 3
30
Le trait de soulignement _
sert également à ignorer les valeurs spécifiques. Si vous n'avez pas besoin des valeurs spécifiques ou si les valeurs ne sont pas utilisées, affectez simplement les valeurs au trait de soulignement.
Ignorer une valeur lors de la décompression
x, _, y = (1, 2, 3)
>>> x
1
>>> y
3
Ignore l'index
for _ in range(10):
do_something()
Il y a 5 cas d'utilisation du trait de soulignement en Python.
Pour stocker la valeur de la dernière expression dans l'interpréteur.
Pour ignorer les valeurs spécifiques. (soi-disant "je m'en fous")
Donner des significations et des fonctions spéciales pour nommer des variables ou des fonctions.
À utiliser comme fonctions d’internationalisation (i18n) ou de localisation (l10n).
Pour séparer les chiffres de la valeur littérale numérique.
Ici est un article de Nice avec des exemples de mingrammer .