Martin Svoboda

Martin Svoboda - Blog

Proměnné 5: Složené operátory


V programovacích jazycích existují prvky, jejichž existence není nutná k rozšíření možností daného jazyka. Nejsou nezbytné pro řešení problémů, které by jinak nebyly vyřešeny, ale pomáhají zlepšit kvalitu kódu. Jedním z takových prvků jsou složené operátory, které umožňují psát kratší a přehlednější kód.

Varování: “přehlednost” je subjektivní a výsledek se nemusí schodovat s vaším cítěním. 😁.

Složené operátory jsou kombinací dvou operátorů do jednoho. Například máte proměnnou x, nastavíte ji na hodnotu 1 a chcete k ní přičíst 2 a výsledek uložit zpět do x. Můžete to napsat takto:

x = 1
x = x + 2

Nebo můžete použít složený operátor:

x = 1
x += 2

Tohle je jen jednoduchý příklad, ale v praxi mohou složené operátory výrazně zlepšit čitelnost a údržbu kódu.

Použití složených operátorů

Podívejme se na příklad bankovní transakce bez složených operátorů:

# Počáteční zůstatek
stav_uctu = 1000

# Vklad
stav_uctu = stav_uctu + 200
print(stav_uctu)  # 1200

# Výběr
stav_uctu = stav_uctu - 150
print(stav_uctu)  # 1050

S použitím složených operátorů můžeme tento kód zjednodušit:

# Počáteční zůstatek
stav_uctu = 1000

# Vklad
stav_uctu += 200
print(stav_uctu)  # 1200

# Výběr
stav_uctu -= 150
print(stav_uctu)  # 1050

Při použití složených operátorů nemusíš pro aktualizaci hodnoty proměnné psát stejný název proměnné dvakrát. Tím neriskuješ, že se náhodou přepíšeš a omylem napíšeš jiný název proměnné. Takové chyby nejsou tam vzácné jak by se mohlo zdát a dost těžko se hledají. 🧐

Přehled složených operátorů

Složené operátory existují pro každou aritmetickou operaci:

  • +=: Sčítání a přiřazení
  • -=: Odečítání a přiřazení
  • *=: Násobení a přiřazení
  • /=: Dělení a přiřazení
  • //=: Dělení a přiřazení celých čísel
  • %=: Modulo a přiřazení
  • **=: Exponentizace a přiřazení

Závěr

Složené operátory jsou jednoduchým, ale užitečným nástrojem, který může zlepšit čitelnost a údržbu tvého kódu. Použití těchto operátorů může vést ke kratším a přehlednějším programům, které jsou snadněji pochopitelné a udržovatelné.

Kontrolní otázky

Pokud to dokážeš vysvětlit někomu jinému vlastními slovy, tak jsi na dobré cestě tomu rozumět. Dokážeš odpovědět na tyto otázky sám sobě? 🙂

  1. Co jsou složené operátory a jaké mají výhody?
  2. Jaký je rozdíl mezi použitím x = x + 2 a x += 2?

Cvičení

Dokážeš přepsat následující kód tak, aby výsledky jednotlivých řádků odpovídaly hodnotám v komentářích a zároveň používal složené operátory? Řešení by mělo fungovat pro libovolné počáteční hodnoty y a z, takže nepoužívejte pevně dané hodnoty v každé operaci. Můžeš si vytvořit pomocnou proměnnou nebo více, pokud budeš potřebovat.

# počáteční hodnoty
y = 10
z = 5

# výpočty
y = y + z # mělo by být 15
z = z + y # mělo by být 15
y = y - z # mělo by být 5
z = z - y # mělo by být -5
y = y * z # mělo by být 50
z = z * y # mělo by být 50
y = y / z # mělo by být 2
z = z / y # mělo by být 0.5