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ě? 🙂
- Co jsou složené operátory a jaké mají výhody?
- Jaký je rozdíl mezi použitím
x = x + 2
ax += 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