From a4fdb92228eda2b1a30d89a634ad8fc4894c1219 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 10 Aug 2020 15:16:19 +0200 Subject: [PATCH 1/2] beginners/expressions: Mention operator priority Also, split the lesson into sections --- lessons/beginners/expressions/index.md | 38 +++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/lessons/beginners/expressions/index.md b/lessons/beginners/expressions/index.md index 8df1609e8f..78bd000048 100644 --- a/lessons/beginners/expressions/index.md +++ b/lessons/beginners/expressions/index.md @@ -37,7 +37,40 @@ vysledek = 9 / 4 vysledek = 2.25 ``` -Funguje to i u složitých výrazů. + +## Priorita operátorů + +Operátory mají v Pythonu prioritu, podobně jako v matematice: +když nejsou ve výrazu závorky, `*` se provádí před `+`. + +Je přitom jedno, jestli máš ve výrazu čísla (kde `*` násobí a `+` sečítá) +nebo třeba řetězce (kde `*` opakuje a `+` spojuje): + +```python +print(2 + 3 * 5) +# ╰─┬─╯ +print(2 + 15 ) +# ╰───┬──╯ +print( 17 ) + + +print('moje ' + 'pra' * 4 + 'babička') +# ╰────┬───╯ +print('moje ' + 'prapraprapra' + 'babička') +# ╰───────────┬──────────╯ +print( 'moje prapraprapra' + 'babička') +# ╰───────────────┬───────────────╯ +print( 'moje praprapraprababička' ) +``` + +Kdyby sis někdy prioritou nebyl{{a}} jist{{gnd('ý', 'á')}}, +přidej do výtrazu závorky, ať je to jasnější. +Jak tobě tak ostatním, kteří budou kód číst. + + +## Složité výrazy + +Vyhodnocování funguje stejným způsobem i u složitých výrazů. Python se složitými výrazy nemá problém. Jen člověk, který program čte či píše, se v nich může lehce ztratit. Když opravdu potřebuješ napsat složitý výraz, je dobré jej rozdělit na několik @@ -73,6 +106,9 @@ x = -5 + 1.75 x = -3.25 ``` + +## Výrazy jsou všude + Výrazy se používají na více místech Pythonu než jen v přiřazování do proměnných. Třeba podmínka u `if` je taky výraz a vyhodnocuje se stejně jako ostatní From 2ecafd6dddda503db6861ed49f53494420b888a4 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 17 Aug 2020 14:21:58 +0200 Subject: [PATCH 2/2] Typo fix Co-authored-by: adelpopelkova <59389471+adelpopelkova@users.noreply.github.com> --- lessons/beginners/expressions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/beginners/expressions/index.md b/lessons/beginners/expressions/index.md index 78bd000048..3e4da4958b 100644 --- a/lessons/beginners/expressions/index.md +++ b/lessons/beginners/expressions/index.md @@ -64,7 +64,7 @@ print( 'moje praprapraprababička' ) ``` Kdyby sis někdy prioritou nebyl{{a}} jist{{gnd('ý', 'á')}}, -přidej do výtrazu závorky, ať je to jasnější. +přidej do výrazu závorky, ať je to jasnější. Jak tobě tak ostatním, kteří budou kód číst.