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