Hodnoty, proměnné a výrazy
Téměř každá akce má políčko, do kterého se píše hodnota — zprávy v Notifikacích, Vytvořit proměnnou, podmínky, cykly, parametry akcí. Do toho jednoho políčka můžete napsat obyčejný text, vložit do něj proměnné, nebo si nechat hodnotu spočítat. Tato stránka popisuje běžnou práci i pokročilé možnosti.
Dvě pravidla, která stačí znát
- Co napíšete, to je text. Uvozovky psát nemusíte —
Dobrý denje prostě textDobrý den. - Proměnnou označíte znakem
$. Napíšete$a hned naskočí našeptávač se seznamem proměnných. Bez$se název bere jako obyčejné slovo.
V příkladech níže počítejme s těmito proměnnými:
| Proměnná | Hodnota | Typ |
|---|---|---|
$jmeno | Jan Novák | text |
$castka | 1250.5 | číslo |
$pocet | 3 | číslo |
$cislo_faktury | 2024001 | číslo |
$datum | 01.02.2024 | text |
$text | ' Faktura 2024 ' | text s mezerami |
$polozky | ['jablka', 'hrusky', 'svestky'] | seznam |
$zaznam | {'id': 7, 'stav': 'OK'} | slovník |
$poznamka | '' | prázdný text |
Běžná práce
Text s proměnnými
Nejčastější případ. Napíšete větu a tam, kde chcete dosadit hodnotu, napíšete $ a vyberete
proměnnou. Žádné uvozovky ani plusy.
| Napíšete | Výsledek |
|---|---|
Záznam $jmeno nelze zpracovat | Záznam Jan Novák nelze zpracovat |
Dobrý den $jmeno, děkujeme za objednávku. | Dobrý den Jan Novák, děkujeme za objednávku. |
Chyba (kód $cislo_faktury): zpracování selhalo. | Chyba (kód 2024001): zpracování selhalo. |
Tečky, čárky, dvojtečky, závorky, pomlčky i procenta jsou normální interpunkce — psát je můžete bez omezení. Mezery zůstanou přesně tak, jak je napíšete, i za proměnnou.
Čísla v textu
Čísla se do textu můžou míchat bez omezení — ať už je číslo napsané rovnou v textu, nebo přijde z proměnné. Vše se automaticky převede na text.
| Napíšete | Výsledek |
|---|---|
Faktura číslo $cislo_faktury byla zaplacena | Faktura číslo 2024001 byla zaplacena |
Máme $pocet položek za $castka Kč. | Máme 3 položek za 1250.5 Kč. |
V dřívějších verzích tato kombinace textu a čísla skončila chybou. Nyní funguje.
Samotná hodnota si zachová typ
Když do políčka napíšete jen jednu věc, dostanete přesně ji — text zůstane textem, číslo číslem a proměnná si zachová svůj typ.
| Napíšete | Výsledek |
|---|---|
$jmeno | Jan Novák — hodnota včetně typu |
schvaleno | schvaleno — text |
42 | 42 — číslo |
"42" | 42 — text, ne číslo |
Když potřebujete číslici jako text, dejte ji do uvozovek. Uvozovky se v políčku zachovají.
Počítání
S čísly se dá normálně počítat. Kolem znaménka nechte mezery nebo použijte závorky — podle toho editor pozná, že jde o výpočet, a ne o text.
| Napíšete | Výsledek |
|---|---|
$castka * 1.21 | 1513.105 |
$cislo_faktury + 1 | 2024002 |
($castka + 100) / 2 | 675.25 |
20240201-001 | 20240201-001 — text, ne odečítání |
Bez mezer kolem znaménka se hodnota bere jako text, takže čísla dokladů a variabilní symboly zůstanou v pořádku.
Našeptávač
- Napište
$— vyskočí seznam proměnných, vyberete a doplní se celý název. - Slovo před
$zůstane. Když napíšeteDobrý dena pak$, text se nepřepíše. - Chcete mezeru? Napište ji sami:
Dobrý den $jmeno. - Záložky nahoře nabízejí víc než proměnné: Variables, Operators, Constants, General, Math, Text a Date & Time. Vybraná položka se vloží i s ukázkou zápisu.
- Barevné zvýraznění odlišuje proměnné v políčku, takže hned vidíte, co se dosadí a co je obyčejný text.
- Náhled pod políčkem ukazuje výsledek. Zelený znamená v pořádku, červený chybu — nejčastěji překlep v názvu proměnné.
Uložení a znovuotevření
Hodnota se ukládá tak, aby se chovala vždy stejně. Když akci znovu otevřete, uvidíte ji zpátky v čitelné podobě, ne v technickém zápisu:
| Napíšete | Po znovuotevření |
|---|---|
Záznam $jmeno nelze zpracovat | Záznam $jmeno nelze zpracovat |
Starší scénáře se otevřou správně také. I když v nich byla hodnota zapsaná po staru — s uvozovkami a plusy — zobrazí se v nové, čitelné podobě a chová se stejně jako dřív.
Nejčastější chyby
| Napíšete | Výsledek | Náprava |
|---|---|---|
jmeno | jmeno — obyčejné slovo, ne hodnota | Chybí $. Správně $jmeno. |
Dobrý den$jmeno | Dobrý denJan Novák | Chybí mezera před $: Dobrý den $jmeno. |
$jmenoo | červený náhled — proměnná neexistuje | Překlep. Vyberte proměnnou z našeptávače. |
Pokročilé výrazy
Do políčka se dá napsat i výpočet, práce s textem, práce s daty nebo podmínka. Používá se
zápis jazyka Python; proměnné se i tady označují $.
Sáhnutí do dat
Když proměnná obsahuje seznam nebo slovník, dostanete se do ní hranatými závorkami.
Našeptávač po napsání [ nabídne přímo klíče nebo pozice.
| Napíšete | Výsledek |
|---|---|
$polozky[0] | jablka — první prvek, číslujeme od nuly |
$polozky[-1] | svestky — poslední prvek |
$zaznam['stav'] | OK — hodnota podle klíče |
$zaznam['id'] | 7 |
$jmeno[0:3] | Jan — první tři znaky |
Stejný zápis funguje i pro výřez ze seznamu.
Práce s textem
Za proměnnou napíšete tečku a název operace:
| Napíšete | Výsledek |
|---|---|
$jmeno.upper() | JAN NOVÁK |
$text.strip() | Faktura 2024 — odstraní mezery na začátku a konci |
$jmeno.replace('Novák', 'Nový') | Jan Nový |
$datum.split('.') | ['01', '02', '2024'] |
", ".join($polozky) | jablka, hrusky, svestky |
$text.strip().lower() | faktura 2024 — operace se dají řetězit |
Funkce
Co je k dispozici, najdete v našeptávači na záložkách General a Math — u každé položky je popis i ukázka.
| Napíšete | Výsledek |
|---|---|
len($polozky) | 3 — počet prvků |
len($jmeno) | 9 — počet znaků |
int($castka) | 1250 |
str($pocet) | 3 — převod na text |
round($castka) | 1250.0 |
max($pocet, 10) | 10 — větší z hodnot; obdobně min |
sum([1, 2, 3]) | 6 |
abs(-5) | 5 |
Seznam, slovník a dvojice
Hodí se, když potřebujete předat víc údajů najednou — například do formuláře nebo do další akce.
| Napíšete | Výsledek |
|---|---|
[$jmeno, $pocet] | ['Jan Novák', 3] — seznam |
{id:$pocet, jmeno:$jmeno} | {'id': 3, 'jmeno': 'Jan Novák'} — slovník |
($pocet, $castka) | (3, 1250.5) — dvojice (tuple) |
Názvy klíčů psát do uvozovek nemusíte. Po znovuotevření je uvidíte v uvozovkách —
{'id':$pocet, …} — je to totéž.
Pozor na rozdíl: $pocet, $castka bez dalšího textu je dvojice, kdežto
Máme $pocet za $castka Kč je text.
Datum a čas
Datum uložené jako text je potřeba nejdřív načíst pomocí datetime_parse a pak vypsat v
požadovaném tvaru pomocí datetime_format.
| Napíšete | Výsledek |
|---|---|
datetime_parse($datum, '%d.%m.%Y') | datum načtené z textu |
datetime_format(datetime_parse($datum, '%d.%m.%Y'), '%Y-%m-%d') | 2024-02-01 |
datetime_format(datetime.datetime.now(), '%d.%m.%Y') | dnešní datum |
datetime_format(datetime_add(datetime.datetime.now(), days=7), '%d.%m.%Y') | datum za týden |
| Funkce | Co umí |
|---|---|
datetime_parse(text, formát, tz=None) | Načte datum z textu. |
datetime_format(datum, formát) | Vypíše datum jako text. |
datetime_add(datum, …) | Posune datum o days, hours, minutes, seconds, microseconds, months nebo years. |
datetime_set(datum, …) | Nastaví konkrétní část — day, month, year, hour, minute, second, microsecond. |
Značky ve formátu: %d den, %m měsíc, %Y čtyřciferný rok, %H hodina, %M minuta.
Konstanty a systémové hodnoty
Na záložce Constants jsou připravené hodnoty; po výběru se vloží celý zápis.
| Napíšete | Výsledek |
|---|---|
datetime.datetime.now() | aktuální datum a čas |
int(datetime.datetime.now().timestamp()) | čas v sekundách, např. 1785841813 |
random.randint(1, 100) | náhodné číslo |
$CONSTANTS['FULL_DATE'] | konstanta nastavená pro celý scénář — úplný seznam |
Moduly
K dispozici je pět modulů: re, math, random, datetime a aiviro.
| Napíšete | Výsledek |
|---|---|
re.sub('[0-9]', '', $text) | ' Faktura ' — odstraní všechny číslice |
math.ceil($castka) | 1251 — zaokrouhlení nahoru |
random.randint(1, 100) | náhodné číslo od 1 do 100 |
Číselné soustavy
| Napíšete | Výsledek |
|---|---|
bin($pocet) | 0b11 |
hex($pocet) | 0x3 |
oct($pocet) | 0o3 |
int("1100", 2) | 12 — z binárního textu zpět na číslo |
Operátory
Všechny níže uvedené najdete i v našeptávači na záložce Operators, včetně popisu.
Počítání s čísly
| Napíšete | Výsledek | Význam |
|---|---|---|
$castka + $pocet | 1253.5 | sečti |
$castka - $pocet | 1247.5 | odečti |
$castka * $pocet | 3751.5 | vynásob |
$castka / $pocet | 416.833… | vyděl — výsledek je desetinné číslo |
$castka // $pocet | 416.0 | celočíselné dělení |
$castka % $pocet | 2.5 | zbytek po dělení — hodí se na test sudé/liché |
$pocet ** 2 | 9 | mocnina |
Spojování a opakování
Znaménka + a * fungují i na text a seznamy — tam ale nesčítají, nýbrž spojují a opakují.
| Napíšete | Výsledek |
|---|---|
$polozky + ["maliny"] | ['jablka', 'hrusky', 'svestky', 'maliny'] |
"-" * 20 | -------------------- — oddělovač |
Na skládání textu s proměnnými + nepotřebujete — stačí napsat větu a označit proměnné $.
Porovnání
Používá se hlavně v akcích Podmínka a v cyklech, kde se editor ptá „má se to provést?".
Odpovědí je True nebo False.
| Napíšete | Výsledek | Význam |
|---|---|---|
$castka > 1000 | True | je větší než; < je menší než |
$pocet <= 3 | True | menší nebo rovno; obdobně >= |
$zaznam['stav'] == "OK" | True | rovná se — pozor, píší se dvě rovnítka |
$jmeno != "Petr" | True | nerovná se |
Logika
| Napíšete | Výsledek | Význam |
|---|---|---|
$castka > 1000 and $pocet > 1 | True | musí platit obě podmínky |
$castka > 5000 or $pocet > 1 | True | stačí, když platí aspoň jedna |
not $poznamka | True | obrácení — platí, když je hodnota prázdná |
$pocet > 1 and $pocet < 10 | True | rozsah |
Prázdný text, nula a prázdný seznam se berou jako „Ne", cokoliv vyplněného jako „Ano".
Obsahuje / je uvnitř
| Napíšete | Výsledek |
|---|---|
"jablka" in $polozky | True |
"banány" not in $polozky | True |
"stav" in $zaznam | True — má slovník takový klíč? |
"Novák" in $jmeno | True — u textu hledá podřetězec |
$poznamka is None | False — prázdný text není totéž co None |
Dva užitečné triky
| Napíšete | Výsledek |
|---|---|
$poznamka or "nevyplněno" | nevyplněno — náhradní hodnota, když je proměnná prázdná |
len($polozky) > 2 | True — podmínku lze postavit i na výsledku funkce |
Podmínka na jeden řádek
Pro jednoduché „když ano, tak A, jinak B" se dá podmínka napsat přímo do políčka — typicky u akce Vytvořit proměnnou.
| Napíšete | Výsledek |
|---|---|
"VIP" if $castka > 1000 else "běžný" | VIP |
$jmeno if $jmeno else "neznámý zákazník" | Jan Novák, a kdyby bylo $jmeno prázdné, neznámý zákazník |
Úprava a filtrování seznamu
Jedním řádkem se dá projít seznam a každou položku upravit nebo vyfiltrovat.
| Napíšete | Výsledek |
|---|---|
[p.upper() for p in $polozky] | ['JABLKA', 'HRUSKY', 'SVESTKY'] |
[p for p in $polozky if p != 'hrusky'] | ['jablka', 'svestky'] |
len([p for p in $polozky if p != 'hrusky']) | 2 |
p je jen pomocný název pro jednu položku, $ se u něj nepíše.
F-stringy
F-string je zápis textu s dosazovanými hodnotami — to, co se dřív psalo jako
f"text {promenna}". Nově ho psát nemusíte: stačí napsat text a proměnné označit $, editor
si f-string vyrobí sám.
| Napíšete | Výsledek |
|---|---|
Záznam $jmeno nelze zpracovat | Záznam Jan Novák nelze zpracovat |
f"Ahoj {jmeno}" | Ahoj Jan Novák |
Když si f-string napíšete ručně, funguje také. Uvnitř složených závorek se ale $ nepíše
— správně je {jmeno}, ne {$jmeno}. Po znovuotevření se zobrazí v jednodušší podobě:
Ahoj $jmeno.
Starší scénáře s f-stringy fungují dál a otevřou se správně.
Kdy sáhnout po akci Python kód
Políčko pro výraz je určené pro jednu hodnotu na jeden řádek. Jakmile potřebujete víc kroků za sebou, cykly, ošetření chyb nebo delší logiku, je lepší použít akci Python kód — tam máte plnohodnotný editor a kód zůstane přehledný.