In questo articolo vedremo il carattere di sottolineatura (_) in Python.
Di seguito sono riportati diversi luoghi in cui _ è usato in Python:
- Sottolineatura singola:
- Sottolineato singolo nell'interprete
- Singolo carattere di sottolineatura dopo un nome
- Singolo carattere di sottolineatura prima di un nome
- Singolo carattere di sottolineatura in valori letterali numerici
- Doppia sottolineatura:
- Doppio carattere di sottolineatura prima di un nome
- Doppio carattere di sottolineatura prima e dopo un nome
Sottolineatura singola
Esempio 1: carattere di sottolineatura singolo nell'interprete:
_ restituisce il valore dell'ultimo valore dell'espressione eseguita nel prompt/interprete Python
Esempio 2: carattere di sottolineatura singolo per ignorare i valori
Più volte non vogliamo restituire valori in quel momento per assegnare tali valori a Underscore. Viene utilizzato come variabile usa e getta.
Python3
stringa java cmp
# Ignore a value of specific location/index> for> _> in> range> (> 10> )> > print> (> 'Test'> )> # Ignore a value when unpacking> a,b,_,_> => my_method(var1)> |
>
>
Esempio 3: singolo carattere di sottolineatura dopo un nome
Python ha le sue parole chiave predefinite che non possiamo usare come nome della variabile. Per evitare tale conflitto tra la parola chiave Python e la variabile utilizziamo il carattere di sottolineatura dopo il nome
Python3
scanner java
class> MyClass():> > def> __init__(> self> ):> > print> (> 'OWK'> )> def> my_definition(var1> => 1> ,> class_> => MyClass):> > print> (var1)> > print> (> class_> )> my_definition()> |
>
>
Produzione:
1>
Esempio 4: singolo carattere di sottolineatura prima di un nome
Sottolineatura principale prima variabile / funzione / nome del metodo indica al programmatore che è solo per uso interno, che può essere modificato ogni volta che la classe lo desidera. Qui il prefisso del nome accompagnato da un carattere di sottolineatura viene considerato non pubblico. Se specificato dall'importazione * tutti i nomi che iniziano con _ non verranno importati. Python non specifica veramente privato quindi questo può essere chiamato direttamente da altri moduli se è specificato in __all__, lo chiamiamo anche Privato debole
Python3
class> Prefix:> > def> __init__(> self> ):> > self> .public> => 10> > self> ._private> => 12> test> => Prefix()> print> (test.public)> print> (test._private)> |
>
>
10 12>
Esempio 5: singolo carattere di sottolineatura in valori letterali numerici
La sintassi Python viene utilizzata in modo tale che i caratteri di sottolineatura possano essere utilizzati come separatori visivi per motivi di raggruppamento delle cifre per migliorare la leggibilità. Questa è una caratteristica tipica della maggior parte delle lingue attuali e può aiutare nella leggibilità di letterali lunghi, o letterali il cui valore dovrebbe essere chiaramente separato in porzioni.
Python3
java int in carattere
# 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> |
>
>
Doppio carattere di sottolineatura prima di un nome
Il doppio carattere di sottolineatura iniziale dice all'interprete Python di riscrivere il nome per evitare conflitti in una sottoclasse. L'interprete cambia il nome della variabile con l'estensione della classe e quella funzionalità nota come Mangling.
Python3
class> Myclass():> > def> __init__(> self> ):> > self> .__variable> => 10> |
>
>
Chiamata dall'interprete
testFile.py
L'interprete Python modifica il nome della variabile con ___. Quindi più volte viene utilizzato come membro privato perché un'altra classe non può accedere direttamente a quella variabile. Lo scopo principale di __ è utilizzare variabile /method solo in classe Se vuoi usarlo al di fuori della classe puoi renderlo pubblico.
Python3
interruttore dattiloscritto
class> Myclass():> > def> __init__(> self> ):> > self> .__variable> => 10> > def> func(> self> )> > print> (> self> .__variable)> |
>
>
Scarica turboc++
Chiamata dall'interprete
Doppio carattere di sottolineatura prima e dopo un nome
Il nome inizia con __ e termina con lo stesso considerando i metodi speciali in Python. Python fornisce questi metodi da utilizzare come sovraccarico dell'operatore a seconda dell'utente. Python fornisce questa convenzione per distinguere tra la funzione definita dall'utente e la funzione del modulo
Python3
class> Myclass():> > def> __add__(> self> ,a,b):> > print> (a> *> b)> |
>
>
Chiamata dall'interprete