Klíčová slova jsou vyhrazená slova v jazyce Python. Klíčové slovo nemůžeme použít jako název proměnné, název funkce nebo jiný identifikátor.

Tady je seznam všech klíčových slov v programovacím jazyce Python

.

Klíčová slova v programovacím jazyce Python
False await else import pass
None break except in raise
True class finally is return
and pokračovat pro lambda zkoušet
jako def from nonlocal while
assert del global not with
async elif if or yield

Výše uvedená klíčová slova se mohou v různých verzích Pythonu změnit. Některá navíc mohou být přidána nebo některá odstraněna. Seznam klíčových slov v aktuální verzi můžete vždy získat zadáním následujícího příkazu do výzvy.

>>> import keyword>>> print(keyword.kwlist)

Popis klíčových slov v jazyce Python s příklady

Pravdivostní hodnoty v jazyce Python jsou True, False

True a False. Jsou to výsledky porovnávacích operací nebo logických (booleovských) operací v jazyce Python. Například:

>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse

Zde vidíme, že první tři příkazy jsou pravdivé, takže interpret vrátí True a pro zbývající tři příkazy vrátí False. True a False v jazyce python je totéž jako 1 a 0. To lze zdůvodnit následujícím příkladem:

>>> True == 1True>>> False == 0True>>> True + True2

None

None je speciální konstanta v jazyce Python, která představuje nepřítomnost hodnoty nebo nulovou hodnotu.

Je to objekt vlastního datového typu NoneType. Nemůžeme vytvořit více objektů None, ale můžeme ji přiřadit proměnným. Tyto proměnné si budou navzájem rovny.

Musíme dát zvláštní pozor, aby None neznamenal False, 0 nebo jakýkoli prázdný seznam, slovník, řetězec apod. Například:

>>> None == 0False>>> None == False>>> None == FalseFalse>>> x = None>>> y = None>>> x == yTrue

Prázdné funkce, které nic nevracejí, budou automaticky vracet objekt None. Objekt None vracejí také funkce, ve kterých se v toku programu nesetkáme s příkazem return. Například:

def a_void_function(): a = 1 b = 2 c = a + bx = a_void_function()print(x)

Výstup

None

Tento program má funkci, která nevrací žádnou hodnotu, i když uvnitř provádí nějaké operace. Když tedy vypíšeme x, dostaneme None, který je automaticky (implicitně) vrácen. Podobně zde máme další příklad:

def improper_return_function(a): if (a % 2) == 0: return Truex = improper_return_function(3)print(x)

Výstup

None

Ačkoli má tato funkce příkaz return, nedosáhne ho v každém případě. Funkce vrátí True pouze tehdy, je-li vstup sudý.

Pokud funkci zadáme liché číslo, vrátí se implicitně None.

a, nebo , ne

and, or, not jsou logické operátory v jazyce Python. Výsledkem and bude True pouze v případě, že oba operandy jsou True. Pravdivostní tabulka pro and je uvedena níže:

.

Pravdivostní tabulka pro and
A B A a B
True True True
True False False
False True False
False False False

or bude výsledkem True, pokud je některý z operandů True. Pravdivostní tabulka pro or je uvedena níže:

.

Pravdivostní tabulka pro or
A B A nebo B
True True True
True False True
False True True
False False False

not Operátor se používá k invertování pravdivostní hodnoty. Pravdivostní tabulka pro not je uvedena níže:

.

Pravdivostní tabulka pro not
A není A
Pravda Nepravda
Ne True

některé příklady jejich použití jsou uvedeny níže

>>> True and FalseFalse>>> True or FalseTrue>>> not FalseTrue

as

as slouží k vytvoření aliasu při importu modulu. Znamená to, že při importu modulu mu přiřadíte jiné jméno (definované uživatelem).

Jako příklad lze uvést, že Python má standardní modul s názvem math. Předpokládejme, že chceme pomocí aliasu vypočítat, jaký je kosinus pí. Můžeme to udělat následujícím způsobem pomocí as:

>>> import math as myAlias>>>myAlias.cos(myAlias.pi)-1.0

Zde jsme importovali modul math tak, že jsme mu dali jméno myAlias. Nyní se můžeme na modul math odkazovat tímto jménem. Pomocí tohoto jména jsme vypočítali cos(pí) a jako odpověď jsme dostali -1.0.

assert

assert slouží k ladění

Při programování chceme někdy zjistit vnitřní stav nebo ověřit, zda jsou naše předpoklady pravdivé. assert To nám pomůže udělat a pohodlněji najít chyby. Za assert následuje podmínka.

Pokud je podmínka pravdivá, nic se nestane. Pokud je však podmínka nepravdivá, vyvolá se AssertionError. Například:

>>> a = 4>>> assert a < 5>>> assert a > 5Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError

Pro naše lepší pochopení můžeme také uvést zprávu, která se vypíše spolu s AssertionError.

>>> a = 4>>> assert a > 5, "The value of a is too small"Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError: The value of a is too small

Na tomto místě můžeme poznamenat, že,

assert condition, message

je ekvivalentní s,

if not condition: raise AssertionError(message)

async, await

Klíčová slova async a await poskytuje knihovna asyncio v jazyce Python. Používají se k zápisu souběžného kódu v jazyce Python. Například

import asyncioasync def main(): print('Hello') await asyncio.sleep(1) print('world')

Pro spuštění programu použijeme

asyncio.run(main())

V uvedeném programu klíčové slovo async určuje, že funkce bude provedena asynchronně.

Zde se nejprve vypíše Hello. Klíčové slovo await způsobí, že program bude čekat 1 sekundu. A pak se vypíše svět.

break, continue

break a continue se používají uvnitř cyklů for a while, aby změnily jejich normální chování.

break ukončí nejmenší cyklus, ve kterém se nachází, a řízení přejde na příkaz bezprostředně pod cyklem. continue způsobí ukončení aktuální iterace smyčky, ale ne celé smyčky.

To lze ilustrovat na následujících dvou příkladech:

for i in range(1,11): if i == 5: break print(i)

Výstup

1234

Zde má smyčka for v úmyslu vypsat čísla od 1 do 10. Podmínka if je však splněna, když je i rovno 5, a my smyčku přerušíme. Vypíše se tedy pouze rozsah 1 až 4.

for i in range(1,11): if i == 5: continue print(i)

Výstup

1234678910

Zde pro stejný program použijeme continue. Při splnění podmínky se tedy tato iterace přeskočí. Smyčku však neukončujeme. Proto se vypíší všechny hodnoty kromě 5.

Přečtěte si více o příkazech break a continue v jazyce Python.

třída

class slouží k definici nové uživatelsky definované třídy v jazyce Python.

Třída je kolekce souvisejících atributů a metod, které se snaží reprezentovat reálnou situaci. Tato myšlenka sdružování dat a funkcí do třídy je ústředním prvkem konceptu objektově orientovaného programování (OOP).

Třídy lze definovat kdekoli v programu. Je však dobrým zvykem definovat jednu třídu v modulu. Následuje ukázka použití:

class ExampleClass: def function1(parameters): … def function2(parameters): …

Další informace o objektech a třídách v jazyce Python.

def

def slouží k definici uživatelsky definované funkce.

Funkce je blok souvisejících příkazů, které společně vykonávají nějaký konkrétní úkol. Pomáhá nám uspořádat kód do zvládnutelných částí a také provést nějakou opakující se úlohu.

Použití def je uvedeno níže:

def function_name(parameters): …

Další informace o funkcích jazyka Python.

del

del slouží k odstranění reference na objekt. V jazyce Python je vše objekt. Odkaz na proměnnou můžeme smazat pomocí del

>>> a = b = 5>>> del a>>> aTraceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>NameError: name 'a' is not defined>>> b5

Zde vidíme, že odkaz na proměnnou a byl smazán. Není tedy již definována. Ale b stále existuje.

del se také používá k mazání položek ze seznamu nebo slovníku:

>>> a = >>> del a>>> a

if, else, elif

if, else, elif se používají pro podmíněné větvení nebo rozhodování.

Když chceme otestovat nějakou podmínku a provést blok pouze tehdy, je-li podmínka pravdivá, pak použijeme if a elif. elif je zkratka pro else if. else je blok, který se provede, pokud je podmínka nepravdivá. To bude zřejmé z následujícího příkladu:

def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else')if_example(2)if_example(4)if_example(1)

Výstup

TwoSomething elseOne

Zde funkce kontroluje vstupní číslo a vypíše výsledek, pokud je 1 nebo 2. V tomto případě se jedná o blok, který se skládá ze dvou bloků. Jakýkoli jiný vstup než tento způsobí, že se vykoná elsečást kódu.

Další informace o příkazech if a if…else v jazyce Python.

except, raise, try

except, raise, try se v jazyce Python používají s výjimkami.

Výjimky jsou v podstatě chyby, které naznačují, že se při provádění našeho programu něco pokazilo. IOError, ValueError, ZeroDivisionError, ImportError, NameError, TypeError atd. je několik příkladů výjimek v jazyce Python. K zachycení výjimek se v jazyce Python používají bloky try...except.

Vyvolat výjimku můžeme explicitně pomocí klíčového slova raise. Následuje příklad:

def reciprocal(num): try: r = 1/num except: print('Exception caught') return return rprint(reciprocal(10))print(reciprocal(0))

Výstup

0.1Exception caughtNone

Zde funkce reciprocal() vrací reciproké číslo vstupu.

Pokud zadáme 10, dostaneme normální výstup 0,1.

Pokud zadáme 10, dostaneme normální výstup. Když ale zadáme 0, automaticky se vyvolá ZeroDivisionError.

To zachytí náš blok try…except a my vrátíme None. Mohli jsme také explicitně vyvolat ZeroDivisionError kontrolou vstupu a ošetřit ji jinde takto:

if num == 0: raise ZeroDivisionError('cannot divide')

konečně

finally Používá se s blokem try…except pro uzavření zdrojů nebo proudů souborů.

Použití finally zajistí, že se blok kódu uvnitř něj provede, i když dojde k neobsluhované výjimce. Například:

try: Try-blockexcept exception1: Exception1-blockexcept exception2: Exception2-blockelse: Else-blockfinally: Finally-block

Pokud se v bloku Try-block vyskytne výjimka, je zpracována v bloku except nebo else. Ale bez ohledu na to, v jakém pořadí probíhá provádění, si můžeme být jisti, že Finally-block se provede i v případě, že dojde k chybě. To je užitečné při čištění prostředků.

Přečtěte si více o zpracování výjimek v programování v jazyce Python.

pro

for se používá pro cyklování. Obecně používáme for, když známe počet cyklů, které chceme zacyklit.

V jazyce Python jej můžeme použít s libovolným typem posloupnosti, například se seznamem nebo řetězcem. Zde je příklad, ve kterém se for používá k procházení seznamu jmen:

names = for i in names: print('Hello '+i)

Výstup

Hello JohnHello MonicaHello StevenHello Robin

Další informace o cyklu v jazyce Python.

z, klíčové slovo import

import se používá k importu modulů do aktuálního jmenného prostoru. from…import Používá se k importu konkrétních atributů nebo funkcí do aktuálního jmenného prostoru. Například:

import math

importuje modul math. Nyní můžeme uvnitř něj použít funkci cos() jako math.cos(). Pokud bychom však chtěli importovat pouze funkci cos(), můžeme to provést pomocí from as

from math import cos

teď můžeme funkci použít jednoduše jako cos(), nemusíme psát math.cos().

Další informace o modulech Pythonu a příkazu import.

global

global slouží k deklaraci, že proměnná uvnitř funkce je globální (mimo funkci).

Potřebujeme-li přečíst hodnotu globální proměnné, není nutné ji definovat jako global. To je srozumitelné.

Potřebujeme-li změnit hodnotu globální proměnné uvnitř funkce, musíme ji deklarovat pomocí global. Jinak se vytvoří lokální proměnná s tímto názvem.

Následující příklad nám to pomůže objasnit.

globvar = 10def read1(): print(globvar)def write1(): global globvar globvar = 5def write2(): globvar = 15read1()write1()read1()write2()read1()

Výstup

1055

Zde funkce read1() právě čte hodnotu globvar. Nemusíme ji tedy deklarovat jako global. Funkce write1() však hodnotu upravuje, takže proměnnou musíme deklarovat jako global.

Ve výstupu vidíme, že úprava skutečně proběhla (10 se změnilo na 5). O modifikaci této hodnoty se pokouší také write2(). My jsme ji však nedeklarovali jako global.

Vytvořila se tedy nová lokální proměnná globvar, která není mimo tuto funkci vidět. Přestože tuto lokální proměnnou změníme na hodnotu 15, globální proměnná zůstane nezměněna. To je jasně vidět na našem výstupu.

in

in slouží k testování, zda posloupnost (seznam, tuple, řetězec atd.) obsahuje hodnotu. Pokud je hodnota přítomna, vrací True, jinak vrací False. Například:

>>> a = >>> 5 in aTrue>>> 10 in aFalse

Druhotným použitím in je procházení posloupnosti ve smyčce for.

for i in 'hello': print(i)

Výstup

hello

is

is se v Pythonu používá k testování identity objektu. Zatímco operátor == slouží k testování, zda jsou si dvě proměnné rovny či nikoli, operátor is slouží k testování, zda se obě proměnné vztahují ke stejnému objektu.

Vrací True, pokud jsou objekty totožné, a False, pokud tomu tak není.

>>> True is TrueTrue>>> False is FalseTrue>>> None is NoneTrue

Víme, že v Pythonu existuje pouze jedna instance True, False a None, takže jsou identické.

>>> == True>>> is False>>> {} == {}True>>> {} is {}False

Prázdný seznam nebo slovník se rovná jinému prázdnému. Nejsou to však identické objekty, protože jsou v paměti umístěny odděleně. Je to proto, že seznam a slovník jsou mutovatelné (hodnotu lze měnit).

>>> '' == ''True>>> '' is ''True>>> () == ()True>>> () is ()True

Na rozdíl od seznamu a slovníku jsou řetězec a tuple neměnné (hodnotu nelze měnit, jakmile jsou definovány). Proto jsou dva stejné řetězce nebo tuply také identické. Odkazují na stejné místo v paměti.

lambda

lambda slouží k vytvoření anonymní funkce (funkce bez jména). Jedná se o inline funkci, která neobsahuje příkaz return. Skládá se z výrazu, který je vyhodnocen a vrácen. Například:

a = lambda x: x*2for i in range(1,6): print(a(i))

Výstup

246810

Tady jsme vytvořili inline funkci, která zdvojnásobuje hodnotu, pomocí příkazu lambda. Použili jsme ji ke zdvojnásobení hodnot v seznamu obsahujícím 1 až 5.

Další informace o funkci lamda v jazyce Python.

nonlocal

Použití klíčového slova nonlocal je velmi podobné klíčovému slovu global. nonlocal se používá k deklaraci, že proměnná uvnitř vnořené funkce (funkce uvnitř funkce) není lokální, což znamená, že leží ve vnější vnořené funkci. Pokud potřebujeme změnit hodnotu nelokální proměnné uvnitř vnořené funkce, musíme ji deklarovat pomocí nonlocal. Jinak se uvnitř vnořené funkce vytvoří lokální proměnná s tímto názvem. Následující příklad nám to pomůže objasnit.

def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()

Výstup

Inner function: 10Outer function: 10

Zde je inner_function() vnořena uvnitř outer_function.

Proměnná a je v outer_function(). Pokud ji tedy chceme upravit v inner_function(), musíme ji deklarovat jako nonlocal. Všimněte si, že a není globální proměnná.

Z výstupu tedy vidíme, že proměnná byla úspěšně změněna uvnitř vnořeného inner_function(). Výsledek nepoužití klíčového slova nonlocal je následující:

def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()

Výstup

Inner function: 10Outer function: 5

Zde nedeklarujeme, že proměnná a uvnitř vnořené funkce je nonlocal. Proto se vytvoří nová lokální proměnná se stejným názvem, ale nelokální a se nezmění, jak je vidět na našem výstupu.

pass

pass je v Pythonu nulový příkaz. Při jeho provedení se nic nestane. Používá se jako zástupný příkaz.

Předpokládejme, že máme funkci, která ještě není implementována, ale chceme ji v budoucnu implementovat. Jednoduchým zápisem,

def function(args):

uprostřed programu získáme IndentationError. Místo toho zkonstruujeme prázdné tělo příkazem pass.

def function(args): pass

To samé můžeme udělat i v prázdném class.

class example: pass

příkazreturn

return se používá uvnitř funkce k jejímu ukončení a vrácení hodnoty.

Pokud hodnotu nevracíme explicitně, vrátí se automaticky None. To si ověříme na následujícím příkladu.

def func_return(): a = 10 return adef no_return(): a = 10print(func_return())print(no_return())

Výstup

10None

while

while se v Pythonu používá pro cyklování.

Příkazy uvnitř cyklu while se vykonávají tak dlouho, dokud se podmínka cyklu while nevyhodnotí jako False nebo dokud nenarazíme na příkaz break. Následující program to ilustruje.

i = 5while(i): print(i) i = i – 1

Výstup

54321

Všimněte si, že 0 se rovná False.

Další informace o cyklu while v jazyce Python.

s

with Příkaz se používá k zabalení provádění bloku kódu do metod definovaných správcem kontextu.

Správce kontextu je třída, která implementuje __enter__ a __exit__ metody. Použití příkazu with zajistí, že metoda __exit__ bude zavolána na konci vnořeného bloku. Tento koncept je podobný použití bloku try…finally. Zde je příklad:

with open('example.txt', 'w') as my_file: my_file.write('Hello world!')

Tento příklad zapíše text Hello world! do souboru example.txt. Souborové objekty mají v sobě definovány metody __enter__ a __exit__, takže fungují jako vlastní správce kontextu.

Nejprve se zavolá metoda __enter__, pak se provede kód uvnitř příkazu with a nakonec se zavolá metoda __exit__. Metoda __exit__ je volána i v případě, že dojde k chybě. V podstatě uzavře proud souboru.

yield

yield se používá uvnitř funkce jako příkaz return. Ale yield vrací generátor.

Generátor je iterátor, který generuje po jedné položce. Velký seznam hodnot zabere hodně paměti. Generátory jsou v této situaci užitečné, protože generují vždy jen jednu hodnotu místo ukládání všech hodnot do paměti. Například

>>> g = (2**x for x in range(100))

vytvoří generátor g, který generuje mocniny čísla 2 až po číslo dvě zvýšené na mocninu 99. Čísla můžeme generovat pomocí funkce next(), jak je uvedeno níže.

>>> next(g)1>>> next(g)2>>> next(g)4>>> next(g)8>>> next(g)16

A tak dále… Tento typ generátoru vrací příkaz yield z funkce. Zde je příklad:

def generator(): for i in range(6): yield i*ig = generator()for i in g: print(i)

Výstup

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.