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
467
demandé sur gsamaras 2011-05-05 09:44:18

4 réponses

_ a 3 principales utilisations conventionnelles en Python:

  1. 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
  2. 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"))
  3. 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).

613
répondu ncoghlan 2017-06-23 07:32:42

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.

162
répondu gsteff 2011-05-05 05:47:50

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()
    
32
répondu Ashish Sahu 2018-06-12 14:37:42

il y a 5 Cas Pour utiliser le underscore en Python.

  1. pour stocker la valeur de la dernière expression dans l'interpréteur.

  2. Pour ignorer les valeurs spécifiques. (les soi-disant "I don't care")

  3. donner des significations et des fonctions spéciales au nom des variables ou des fonctions.

  4. à utiliser comme Internationalisation(i18n)’ ou ‘la Localisation(l10n).

  5. séparer les chiffres de la valeur littérale du nombre.

Ici est un bel article avec des exemples par mingrammer .

11
répondu Reck 2018-03-13 08:49:43