Question Quel est le but de la variable unique "_" dans Python?


Quel est le sens de _ après for dans ce code?

if tbh.bag:
   n = 0
   for _ in tbh.bag.atom_set():
      n += 1

452
2018-05-05 05:44


origine


Réponses:


_ a 3 principales utilisations conventionnelles en Python:

  1. Pour contenir le résultat de la dernière expression exécutée (/ statement) dans un fichier interactif session d'interprète. Ce précédent a été défini par le standard CPython interprète, et d'autres interprètes ont emboîté le pas
  2. Pour la recherche de traduction dans i18n (voir le gettext documentation par exemple), comme dans le code comme: raise forms.ValidationError(_("Please enter a correct username"))
  3. Comme nom de variable "throwaway" à usage général pour indiquer cette partie d'un résultat de 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 jetable dans n'importe quel bloc de code qui l'utilise également pour la traduction i18n (beaucoup de gens préfèrent un double-underscore, __, comme leur variable jetable pour exactement cette raison).


598
2018-05-05 07:10



C'est juste un nom de variable, et c'est classique en python à utiliser _ pour les variables jetables. Cela indique simplement que la variable de boucle n'est pas réellement utilisée.


160
2018-05-05 05:47



Souligner _ est considéré comme "Je m'en fiche" ou "Jeter"variable en Python

  • L'interpréteur python stocke la dernière valeur d'expression dans la variable spéciale appelée _.

    >>> 10 
    10
    
    >>> _ 
    10
    
    >>> _ * 3 
    30
    
  • Le trait de soulignement _ est également utilisé pour ignorer les valeurs spécifiques. Si vous n'avez pas besoin des valeurs spécifiques ou si les valeurs ne sont pas utilisées, attribuez simplement les valeurs au trait de soulignement.

    Ignorer une valeur lors du déballage

    x, _, y = (1, 2, 3)
    
    >>> x
    1
    
    >>> y 
    3
    

    Ignorer l'index

    for _ in range(10):     
        do_something()
    

27
2017-12-01 18:46



Il y a 5 cas pour utiliser le trait de soulignement en Python.

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

  2. Pour ignorer les valeurs spécifiques. (soi-disant "Je m'en fous")

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

  4. Utiliser comme fonctions 'Internationalisation (i18n)' ou 'Localisation (l10n)'.

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

Ici est un bel article avec des exemples de mingrammer.


5
2018-03-13 08:49