V tomto článku uvidíme podčiarknutie (_) v Pythone.
Nasledujú rôzne miesta, kde _ sa používa v Pythone:
- Jedno podčiarknutie:
- Jedno podčiarknutie v tlmočníkovi
- Jedno podčiarknutie za menom
- Jedno podčiarknutie pred menom
- Jedno podčiarknutie v číselných literáloch
- Dvojité podčiarknutie:
- Dvojité podčiarknutie pred menom
- Dvojité podčiarknutie pred a za menom
Jedno podčiarknutie
Príklad 1: Jedno podčiarknutie v tlmočníkovi:
_ vráti hodnotu poslednej spustenej hodnoty výrazu v Python Prompt/Interpreter
neriadený prechod
Príklad 2: Jedno podčiarknutie pre ignorovanie hodnôt
Viackrát nechceme, aby vrátené hodnoty v tom čase priradili tieto hodnoty podčiarkovníku. Používa sa ako premenná na vyhodenie.
Python3
# Ignore a value of specific location/index> for> _>in> range>(>10>)> >print> (>'Test'>)> # Ignore a value when unpacking> a,b,_,_>=> my_method(var1)> |
>
>
Príklad 3: Jedno podčiarknutie za menom
Python má ich predvolené kľúčové slová, ktoré nemôžeme použiť ako názov premennej. Aby sme sa vyhli takémuto konfliktu medzi kľúčovým slovom python a premennou, za názvom používame podčiarkovník
Python3
class> MyClass():> >def> __init__(>self>):> >print>(>'OWK'>)> def> my_definition(var1>=>1>,>class_>=>MyClass):> >print>(var1)> >print>(>class_>)> my_definition()> |
>
>
Výkon:
1>
Príklad 4: Jedno podčiarknutie pred menom
Predné podčiarknutie predtým premenlivý / funkciu / názov metódy programátorovi naznačuje, že je určená len na interné použitie, ktorú je možné upraviť kedykoľvek trieda chce. Tu sa predpona mena podčiarkovníkom považuje za neverejnú. Ak špecifikujte z importu * všetky názvy začínajúce na _ sa neimportujú. Python nešpecifikuje skutočne súkromný, takže tento modul možno volať priamo z iných modulov, ak je zadaný v __all__, nazývame ho tiež slabý Súkromník
Python3
class> Prefix:> >def> __init__(>self>):> >self>.public>=> 10> >self>._private>=> 12> test>=> Prefix()> print>(test.public)> print>(test._private)> |
>
>
10 12>
Príklad 5: Jedno podčiarknutie v číselných literáloch
Syntax Pythonu sa používa tak, že podčiarkovníky možno použiť ako vizuálne oddeľovače na účely zoskupovania číslic, aby sa zvýšila čitateľnosť. Toto je typická vlastnosť väčšiny súčasných jazykov a môže pomôcť pri čitateľnosti dlhých literálov alebo literálov, ktorých hodnota by mala byť jasne rozdelená na časti.
Python3
jpa na jar
# 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> |
>
>
Dvojité podčiarknutie pred menom
Úvodné dvojité podčiarknutie hovorí tlmočníkovi Pythonu, aby prepísal názov, aby sa predišlo konfliktu v podtriede. Interpreter zmení názov premennej pomocou rozšírenia triedy a funkcie známej ako Mangling.
Python3
java metódy
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> |
>
>
Volanie od tlmočníka
testFile.py
Interpret Pythonu modifikuje názov premennej pomocou ___. Takže viackrát sa používa ako súkromný člen, pretože iná trieda nemôže priamo pristupovať k tejto premennej. Hlavným účelom pre __ je použitie premenlivý /method iba v triede Ak ju chcete použiť mimo triedy, môžete ju zverejniť.
Python3
class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> >def> func(>self>)> >print>(>self>.__variable)> |
>
>
Volanie od tlmočníka
Dvojité podčiarknutie pred a za menom
Názov začína na __ a končí na to isté vzhľadom na špeciálne metódy v Pythone. Python poskytuje tieto metódy na použitie ako preťaženie operátora v závislosti od používateľa. Python poskytuje túto konvenciu na rozlíšenie medzi používateľom definovanou funkciou a funkciou modulu
Python3
príklad podreťazca java
class> Myclass():> >def> __add__(>self>,a,b):> >print> (a>*>b)> |
>
>
Volanie od tlmočníka