Quel est le but de la variable underscore simple "" en Python?
Quelle est la signification de _
après for
dans ce code?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
4 réponses
_
a 3 principales utilisations conventionnelles en Python:
- pour conserver le résultat de la dernière expression exécutée(/déclaration) dans un interprète de la session. Ce précédent a été créé par la norme CPython un interprète et d'autres interprètes ont fait de même
- pour la recherche de traduction en i18n (voir la
gettext
la documentation par exemple), comme dans le code comme:
raise forms.ValidationError(_("Please enter a correct username"))
- Comme "jetables" nom de la variable pour indiquer que la partie
d'un résultat de la fonction est délibérément ignoré, comme dans le code comme:
label, has_label, _ = text.partition(':')
les deux derniers buts peuvent entrer en conflit, il est donc nécessaire d'éviter d'utiliser _
comme une variable throwaway dans n'importe quel bloc de code qui l'utilise également pour la traduction i18n (beaucoup de gens préfèrent un double soulignement, __
, comme leur variable throwaway pour exactement cette raison).
c'est juste un nom de variable, et c'est conventionnel en python d'utiliser _
pour les variables throwaway. Cela indique simplement que la variable boucle n'est pas réellement utilisée.
trait de Soulignement _
est considérée comme I don't Care " ou " Jetables " variable en Python
-
l'interpréteur python stocke la dernière valeur d'expression de la variable spéciale appelée
_
.>>> 10 10 >>> _ 10 >>> _ * 3 30
-
le caractère de soulignement
_
est également utilisé pour ignorer les valeur. Si vous n'avez pas besoin des valeurs spécifiques ou si les valeurs ne sont pas utilisées, assignez simplement les valeurs à underscore.ignorer une valeur lors du déballage
x, _, y = (1, 2, 3) >>> x 1 >>> y 3
ignorez l'index
for _ in range(10): do_something()
il y a 5 Cas Pour utiliser le underscore en Python.
-
pour stocker la valeur de la dernière expression dans l'interpréteur.
-
Pour ignorer les valeurs spécifiques. (les soi-disant "I don't care")
-
donner des significations et des fonctions spéciales au nom des variables ou des fonctions.
-
à utiliser comme Internationalisation(i18n)’ ou ‘la Localisation(l10n).
-
séparer les chiffres de la valeur littérale du nombre.
Ici est un bel article avec des exemples par mingrammer .