I den här artikeln kommer vi att se Underscore (_) i Python.
Följande är olika platser där _ används i Python:
- Enkelt understreck:
- Enkelt understreck i tolk
- Enkelt understreck efter ett namn
- Enkelt understreck före ett namn
- Enkelt understreck i numeriska bokstaver
- Dubbel understreck:
- Dubbel understreck före ett namn
- Dubbel understreck före och efter ett namn
Enkelt understreck
Exempel 1: Enkelt understreck i tolk:
_ returnerar värdet för det senast körda uttrycksvärdet i Python Prompt/Interpreter
Exempel 2: Enkelt understreck för att ignorera värden
Flera gånger vill vi inte att returvärden vid den tiden ska tilldela dessa värden till Underscore. Den används som en slängvariabel.
Python3
# Ignore a value of specific location/index> for> _>in> range>(>10>)> >print> (>'Test'>)> # Ignore a value when unpacking> a,b,_,_>=> my_method(var1)> |
>
>
Exempel 3: Enkelt understreck efter ett namn
Python har sina som standard nyckelord som vi inte kan använda som variabelnamn. För att undvika en sådan konflikt mellan python nyckelord och variabel använder vi understreck efter namnet
Python3
class> MyClass():> >def> __init__(>self>):> >print>(>'OWK'>)> def> my_definition(var1>=>1>,>class_>=>MyClass):> >print>(var1)> >print>(>class_>)> my_definition()> |
>
>
Produktion:
1>
Exempel 4: Enkelt understreck före ett namn
Ledande Underscore tidigare variabel / fungera / metodnamn indikerar för programmeraren att det endast är för internt bruk, som kan ändras när klassen vill. Här behandlas namnprefix med ett understreck som icke-offentligt. Om specificera från import * alla namn som börjar med _ kommer inte att importeras. Python anger inte riktigt privat så den här kan anropas direkt från andra moduler om den är specificerad i __all__, vi kallar den också svag Privat
Python3
class> Prefix:> >def> __init__(>self>):> >self>.public>=> 10> >self>._private>=> 12> test>=> Prefix()> print>(test.public)> print>(test._private)> |
>
>
10 12>
Exempel 5: Enkelt understreck i numeriska bokstaver
Python-syntaxen används så att understreck kan användas som visuella avgränsare av siffergrupperingsskäl för att öka läsbarheten. Detta är ett typiskt kännetecken för de flesta aktuella språk och kan underlätta läsbarheten av långa bokstaver, eller bokstaver vars värde tydligt bör separeras i delar.
Python3
partiellt beroende
# 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> |
>
>
Dubbel understreck före ett namn
Det ledande dubbla understrecket talar om för Python-tolken att skriva om namnet för att undvika konflikter i en underklass. Tolken ändrar variabelnamn med klasstillägg och den funktion som kallas Mangling.
Python3
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> |
>
>
Ringer från tolk
testFile.py
Python-tolken modifierar variabelnamnet med ___. Så flera gånger den används som en privat medlem eftersom en annan klass inte kan komma åt den variabeln direkt. Huvudsyftet för __ är att använda variabel /method endast i klassen Om du vill använda den utanför klassen kan du göra den offentlig.
Python3
java switch
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> >def> func(>self>)> >print>(>self>.__variable)> |
>
>
Ringer från tolk
Dubbel understreck före och efter ett namn
Namnet börjar med __ och slutar med samma med tanke på speciella metoder i Python. Python tillhandahåller dessa metoder att använda som operatörens överbelastning beroende på användaren. Python tillhandahåller denna konvention för att skilja mellan den användardefinierade funktionen med modulens funktion
Python3
class> Myclass():> >def> __add__(>self>,a,b):> >print> (a>*>b)> |
>
>
Ringer från tolk