logo

Sottolineato (_) in Python

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