logo

Podtržítko (_) v Pythonu

V tomto článku uvidíme podtržítko (_) v Pythonu .

Následují různá místa, kde _ se používá v Pythonu:

  • Jedno podtržítko:
    • Jedno podtržítko v tlumočníku
    • Jedno podtržítko za jménem
    • Jedno podtržítko před jménem
    • Jedno podtržítko v číselných literálech
  • Dvojité podtržení:
    • Dvojité podtržítko před jménem
    • Dvojité podtržení před a za jménem

Jedno podtržítko

Příklad 1: Jedno podtržítko v tlumočníku:

_ vrátí hodnotu posledního provedeného výrazu v Python Prompt/Interpreter



Příklad 2: Jedno podtržítko pro ignorování hodnot

Několikrát nechceme, aby vrácené hodnoty v té době přiřadily tyto hodnoty podtržítku. Používá se jako vyhazovací proměnná.

Python3




# Ignore a value of specific location/index> for> _>in> range>(>10>)> >print> (>'Test'>)> # Ignore a value when unpacking> a,b,_,_>=> my_method(var1)>

>

>

Příklad 3: Jedno podtržítko za jménem

Python má ve výchozím nastavení jejich klíčová slova, která nemůžeme použít jako název proměnné. Abychom se vyhnuli takovému konfliktu mezi klíčovým slovem python a proměnnou, používáme za jménem podtržítko

Python3




class> MyClass():> >def> __init__(>self>):> >print>(>'OWK'>)> def> my_definition(var1>=>1>,>class_>=>MyClass):> >print>(var1)> >print>(>class_>)> my_definition()>

>

>

Výstup:

1>

Příklad 4: Jedno podtržítko před jménem

Přední podtržítko před variabilní / funkce / název metody programátorovi naznačuje, že je pouze pro interní použití, kterou lze upravit, kdykoli si třída přeje. Zde je předpona názvu podtržítka považována za neveřejnou. Pokud specifikujete z importu * všechna jména začínající na _ nebudou importována. Python nespecifikuje skutečně soukromé, takže tento modul lze volat přímo z jiných modulů, pokud je zadán v __all__, také to nazýváme slabý vojín

Python3




class> Prefix:> >def> __init__(>self>):> >self>.public>=> 10> >self>._private>=> 12> test>=> Prefix()> print>(test.public)> print>(test._private)>

>

>

10 12>

Příklad 5: Jedno podtržítko v číselných literálech

Syntaxe Pythonu se používá tak, že podtržítka lze použít jako vizuální oddělovače pro účely seskupování číslic pro zvýšení čitelnosti. To je typický rys většiny současných jazyků a může pomoci při čitelnosti dlouhých literálů nebo literálů, jejichž hodnota by měla být jasně rozdělena na části.

Python3

prázdno 0




# 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é podtržítko před jménem

Dvojité podtržítko na začátku říká interpretu Pythonu, aby přepsal jméno, aby se zabránilo konfliktu v podtřídě. Interpreter změní název proměnné s příponou třídy a funkcí známou jako Mangling.

Python3




class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10>

>

>

Volání od tlumočníka

testFile.py

Interpret Pythonu modifikuje název proměnné pomocí ___. Takže vícekrát se používá jako soukromý člen, protože jiná třída nemůže přistupovat k této proměnné přímo. Hlavním účelem pro __ je použití variabilní /method pouze ve třídě Pokud ji chcete používat mimo třídu, můžete ji zveřejnit.

Python3

pole struktur v jazyce c




class> Myclass():> >def> __init__(>self>):> >self>.__variable>=> 10> >def> func(>self>)> >print>(>self>.__variable)>

>

>

Volání od tlumočníka

Dvojité podtržení před a za jménem

Název začíná __ a končí stejným s ohledem na speciální metody v Pythonu. Python poskytuje tyto metody k použití jako přetížení operátora v závislosti na uživateli. Python poskytuje tuto konvenci pro rozlišení mezi uživatelsky definovanou funkcí a funkcí modulu

Python3




class> Myclass():> >def> __add__(>self>,a,b):> >print> (a>*>b)>

>

>

Volání od tlumočníka