logo

Podčiarknutie (_) v Pythone

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