En aquest article, veurem el guió baix (_) a Python.
A continuació es mostren diferents llocs on _ s'utilitza a Python:
- Guió baix únic:
- Guió baix únic en intèrpret
- Guió baix únic després d'un nom
- Guió baix únic abans d'un nom
- Guió baix únic en literals numèrics
- Doble guió baix:
- Doble guió baix abans d'un nom
- Doble subratllat abans i després d'un nom
Guió baix únic
Exemple 1: Guió baix únic a l'intèrpret:
_ retorna el valor de l'últim valor de l'expressió executada a l'indicador/intèrpret de Python
Exemple 2: Guió baix únic per ignorar valors
Diverses vegades no volem que els valors de retorn en aquell moment assignin aquests valors al guió baix. S'utilitza com a variable de llençar.
Python 3
# Ignore a value of specific location/index> for> _>in> range>(>10>)> >print> (>'Test'>)> # Ignore a value when unpacking> a,b,_,_>=> my_method(var1)> |
>
pagament a git
>
Exemple 3: Guió baix únic després d'un nom
Python té les seves paraules clau per defecte que no podem utilitzar com a nom de variable. Per evitar aquest conflicte entre la paraula clau de Python i la variable, utilitzem el guió baix després del nom
Python 3
class> MyClass():> >def> __init__(>self>):> >print>(>'OWK'>)> def> my_definition(var1>=>1>,>class_>=>MyClass):> >print>(var1)> >print>(>class_>)> my_definition()> |
>
>
Sortida:
1>
Exemple 4: Guió baix únic abans d'un nom
Guió baix principal abans variable / funció / nom del mètode indica al programador que és només per a ús intern, que es pot modificar sempre que la classe vulgui. Aquí el prefix del nom amb un guió baix es tracta com a no públic. Si s'especifica d'importació * tots els noms que comencen per _ no s'importaran. Python no especifica realment privat, de manera que aquest es pot cridar directament des d'altres mòduls si s'especifica a __all__, també l'anomenem privat feble
Python 3
class> Prefix:> >def> __init__(>self>):> >self>.public>=> 10> >self>._private>=> 12> test>=> Prefix()> print>(test.public)> print>(test._private)> |
>
>
10 12>
Exemple 5: guió baix únic en literals numèrics
La sintaxi de Python s'utilitza de manera que els guions baixos es poden utilitzar com a separadors visuals per motius d'agrupació de dígits per augmentar la llegibilitat. Aquesta és una característica típica de la majoria dels idiomes actuals i pot ajudar a la llegibilitat de literals llargs, o literals el valor dels quals s'hauria de separar clarament en porcions.
Python 3
# grouping decimal for easy readability of long literals> amount>=> 10_000_000>.>0> # grouping hexadecimal for easy readability of long literals> addr>=> 0xCAFE_F00D> # grouping bits for easy readability of long literals> flags>=> 0b_0011_1111_0100_1110> |
>
angles adjacents
>
Doble guió baix abans d'un nom
El guió baix doble inicial indica a l'intèrpret de Python que reescrigui el nom per tal d'evitar conflictes en una subclasse. L'intèrpret canvia el nom de la variable amb l'extensió de classe i aquesta característica coneguda com Mangling.
Python 3
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> |
>
>
Trucada de l'intèrpret
testFile.py
L'intèrpret de Python modifica el nom de la variable amb ___. Així que diverses vegades s'utilitza com a membre privat perquè una altra classe no pot accedir directament a aquesta variable. L'objectiu principal de __ és utilitzar variable /method només a la classe Si el voleu utilitzar fora de la classe, podeu fer-lo públic.
Python 3
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> >def> func(>self>)> >print>(>self>.__variable)> |
>
>
Trucada de l'intèrpret
Doble subratllat abans i després d'un nom
El nom comença amb __ i acaba amb el mateix tenint en compte els mètodes especials de Python. Python proporciona aquests mètodes per utilitzar-los com a operador de sobrecàrrega en funció de l'usuari. Python proporciona aquesta convenció per diferenciar entre la funció definida per l'usuari i la funció del mòdul
Python 3
class> Myclass():> >def> __add__(>self>,a,b):> >print> (a>*>b)> |
>
comparar amb java
>
Trucada de l'intèrpret