À quoi sert le trait de soulignement Python (_)?

Conclusion

  1. Ignorer la valeur de retour

Et en les maîtrisant, vous pourrez montrer à vos amis le sentiment de "** Je connais python génial **"!

Contenu

1. Ignorer la valeur de retour

Ceci est familier et vous le voyez souvent. réduction.

2. Distinguer comment utiliser en nommant les fonctions

Je n'ai pas compris cela parce que divers modèles sont sortis.

a. _function (x): #Une fonction avant

def _single_leading_underscore(x):
    return something

Une fonction peut être définie comme "interne" en ajoutant un trait de soulignement devant la fonction. Autrement dit, cette fonction n'est pas chargée lorsqu'elle est importée à partir d'un autre fichier python. C'est un peu calculé, mais c'est compliqué, donc c'est utilisé avec la motivation d'en faire une fonction.

b. function_ (x): #Un après la fonction

def single_trailing_underscore_: 
    return something

Je n'ai pas vu cela fou, mais ajouter un trait de soulignement après la fonction est utilisé pour éviter de le nommer comme une fonction importante en Python. Il est probablement utilisé par les chans en difficulté qui souhaitent utiliser le même nom que la liste comme nom de fonction.

Mais alors je pense que je devrais lui donner un nom différent.

c. __function (x): #Deux avant la fonction

def __double_leading_underscore: 
    return something

Appelez le mécanisme de changement de nom en ajoutant deux traits de soulignement avant la fonction dans la classe. Ce "mécanisme de manipulation" ridicule est que l'interpréteur et le compilateur ne gèrent pas les variables de la manière habituelle. Par exemple, pour la classe FooBar function boo, Foobar . bar ne peut pas appeler la fonction, et elle est utilisée comme _Foobar__boo.

Ouais, je ne l'utilise pas.

d. __ fonction __ (x): #Deux avant et après la fonction

def __double_leading_and_trailing_underscore__: 
    return something

En soulignant deux avant et après la fonction en classe, cela devient une méthode magique. Cette "méthode magique" inaudible est une méthode appelée méthode spéciale d'une classe dans les livres japonais, et elle est prise en compte lors de la création d'une soi-disant classe.

__init__

C'est. Il existe de nombreuses méthodes spéciales, veuillez donc vérifier ce lien, mais les méthodes spéciales sont essentiellement Il est sage d'utiliser un existant et de ne pas le définir vous-même.

3. Numéros faciles à lire

>>> 1000000
Out: 1000000
>>> 1_000_000
Out: 1000000

Implémenté en python3.6 et versions ultérieures, utilisé pour rendre les nombres longs plus faciles à comprendre.

Si vous ne connaissez pas cette règle, vous devez plutôt vous demander "Pourquoi y a-t-il un trait de soulignement dans les nombres?" Est-ce que Python, qui est célèbre comme langage pour les débutants, est moins lisible pour les débutants?

4. Représentant de la dernière valeur affichée dans l'interpréteur

Dans l'interpréteur, le trait de soulignement semble représenter la dernière valeur d'expression. Eh bien, je ne sais pas.


Les références Medium

magic method

Recommended Posts

À quoi sert le trait de soulignement Python (_)?
A quoi sert l'interface ...
[Python] Qu'est-ce que @? (À propos des décorateurs)
[python] Quelle est la clé triée?
Python pour la déclaration ~ Qu'est-ce qui est itérable ~
Qu'est-ce que python
Qu'est-ce que Python
[Python] Qu'est-ce que Pipeline ...
À quoi sert Linux?
[Python] Qu'est-ce que virtualenv
Qu'est-ce que wheezy dans l'image Docker Python?
Wagtail est le meilleur CMS pour Python! (Peut-être)
[Exemple d'amélioration de Python] Quel est le site d'apprentissage recommandé pour les débutants en Python?
Quelle est la fonction d'activation?
[Python] Python et sécurité-① Qu'est-ce que Python?
[Python] * args ** Qu'est-ce que kwrgs?
Qu'est-ce que la fonction de rappel?
Cours de base Python (1 Qu'est-ce que Python)
Ce que je suis entré dans Python pour la première fois
Electron est la meilleure solution pour le développement multi-plateforme de Python
[Python] Qu'est-ce qu'une fonction zip?
[Python] Qu'est-ce qu'une instruction with?
underbar python C'est ce que
Qu'est-ce que le grattage? [Résumé pour les débutants]
Qu'est-ce que le système X Window?
Voir python pour la première fois
Quelle est la version TLS par défaut du module de requêtes python?
Python> Qu'est-ce qu'une tranche étendue?
Qu'est-ce que xg boost (1) (pour les débutants)
Commande pour le répertoire courant Python
Vérifiez quel est le code de caractère pour tous les fichiers sous le répertoire Python et sortie
[Introduction à Python] Qu'est-ce que Python, le langage de programmation le plus puissant actuellement?
Que faire lorsque le type de valeur est ambigu en Python?
[Python] Qu'est-ce que la série pandas et DataFrame?
[Python] Qu'est-ce qui est hérité par l'héritage multiple?
Qu'est-ce que NaN? NaN Zoya (Python) (394 jours de retard)
Inject est recommandé pour DDD en Python
Quel type de langage de programmation est Python?
Qu'est-ce que clivoa, un framework pour le traitement ETL?
Pourquoi Python est choisi pour l'apprentissage automatique
[Unix] Qu'est-ce que le processus zombie / processus orphelin?
Quelle est la cause de l'erreur suivante?
[Statistiques pour les programmeurs] Qu'est-ce qu'un événement?
Qu'est-ce qu'un chien? Volume d'installation Python
MongoDB avec Python pour la première fois
[python] [meta] Le type de python est-il un type?
Pandas du débutant, par le débutant, pour le débutant [Python]
[Apprentissage automatique] Qu'est-ce que la norme LP?
30/10/2016 else pour Python3> pour:
Variable de soulignement Python
python [pour moi]
Qu'est-ce que copy.copy ()
Quel est le fichier XX à la racine d'un projet Python populaire?
Python est facile
Qu'est-ce que Django? .. ..
[Introduction à Python] Quelle est la différence entre une liste et un taple?
Qu'est-ce que dotenv?