Skip to content

Commit a5d5c77

Browse files
committed
expressions: Add note on operator priority
1 parent 5c83a42 commit a5d5c77

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

lessons/beginners/expressions/index.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,28 @@ vysledek = 9 / 4
3737
vysledek = 2.25
3838
```
3939

40-
Funguje to i u složitých výrazů.
41-
Python se složitými výrazy nemá problém.
42-
Jen člověk, který program čte či píše, se v nich může lehce ztratit.
40+
Python dodržuje *prioritu operátorů*: např. násobení vyhodnotí dřív než
41+
sečítání.
42+
Záleží přitom vždy na operátoru (znaménku).
43+
Násobení čísel (`*`) a opakování řetězců (taky `*`) má vyšší prioritu;
44+
sečítání čísel (`+`) a spojování řetězců (taky `+`) ji má nižší.
45+
46+
```python
47+
vysledek = 4 + 2 * 3
48+
# ╰─┬─╯
49+
vysledek = 4 + 6
50+
# ╰──┬──╯
51+
vysledek = 10
52+
53+
pozrdav = "Volejte třikrát: " + "Sláva! " * 3
54+
# ╰─────┬─────╯
55+
pozrdav = "Volejte třikrát: " + "Sláva! Sláva! Sláva! "
56+
# ╰────────────────────┬──────────────────────╯
57+
pozrdav = "Volejte třikrát: Sláva! Sláva! Sláva! "
58+
```
59+
60+
Python nemá problém se složitými výrazy – vyhodnocování funguje vždy stejně.
61+
Jen člověk, který program čte či píše, se ve výrazech může lehce ztratit.
4362
Když opravdu potřebuješ napsat složitý výraz, je dobré jej rozdělit na několik
4463
menších nebo vysvětlit pomocí komentáře.
4564

0 commit comments

Comments
 (0)