Werte, Variablen und Ausdrücke
Fast jede Aktion hat ein Feld, in das Sie einen Wert eingeben – Meldungen der Aktion Benachrichtigung, Variable erstellen, Bedingungen, Schleifen, Parameter von Aktionen. In dieses eine Feld können Sie reinen Text schreiben, Variablen einfügen oder einen Wert berechnen lassen. Diese Seite behandelt sowohl die alltäglichen als auch die fortgeschrittenen Fälle.
Zwei Regeln, mit denen Sie fast alles abdecken
- Was Sie eingeben, ist Text. Anführungszeichen sind nicht nötig –
Good morningist einfach der TextGood morning. - Eine Variable wird mit
$gekennzeichnet. Geben Sie$ein, und die automatische Vervollständigung öffnet sich mit der Liste der Variablen. Ohne$wird der Name als gewöhnliches Wort behandelt.
Die folgenden Beispiele gehen von diesen Variablen aus:
| Variable | Wert | Typ |
|---|---|---|
$name | Jan Novák | Text |
$amount | 1250.5 | Zahl |
$count | 3 | Zahl |
$invoice_no | 2024001 | Zahl |
$date | 01.02.2024 | Text |
$text | ' Invoice 2024 ' | Text mit Leerzeichen |
$items | ['apples', 'pears', 'plums'] | Liste |
$record | {'id': 7, 'state': 'OK'} | Wörterbuch |
$note | '' | leerer Text |
Alltägliche Verwendung
Text mit Variablen
Der häufigste Fall. Schreiben Sie einen Satz und setzen Sie $ überall dort, wo ein Wert
eingesetzt werden soll. Keine Anführungszeichen, keine Pluszeichen.
| Sie geben ein | Ergebnis |
|---|---|
Record $name cannot be processed | Record Jan Novák cannot be processed |
Good morning $name, thank you for your order. | Good morning Jan Novák, thank you for your order. |
Error (code $invoice_no): processing failed. | Error (code 2024001): processing failed. |
Punkte, Kommas, Doppelpunkte, Klammern, Bindestriche und Prozentzeichen sind gewöhnliche Satzzeichen – Sie können sie frei verwenden. Leerzeichen bleiben genau so erhalten, wie Sie sie schreiben, auch nach einer Variablen.
Zahlen im Text
Zahlen lassen sich uneingeschränkt mit Text kombinieren, ob direkt eingegeben oder aus einer Variablen. Alles wird automatisch in Text umgewandelt.
| Sie geben ein | Ergebnis |
|---|---|
Invoice number $invoice_no has been paid | Invoice number 2024001 has been paid |
We have $count items for $amount CZK. | We have 3 items for 1250.5 CZK. |
In früheren Versionen führte diese Kombination aus Text und Zahl zu einem Fehler. Jetzt funktioniert sie.
Ein einzelner Wert behält seinen Typ
Enthält das Feld nur einen einzigen Wert, erhalten Sie genau diesen – Text bleibt Text, eine Zahl bleibt eine Zahl, und eine Variable behält ihren eigenen Typ.
| Sie geben ein | Ergebnis |
|---|---|
$name | Jan Novák – der Wert mit seinem Typ |
approved | approved – Text |
42 | 42 – Zahl |
"42" | 42 – Text, keine Zahl |
Setzen Sie eine Ziffer in Anführungszeichen, wenn Sie sie als Text benötigen. Die Anführungszeichen bleiben im Feld erhalten.
Rechnen
Mit Zahlen können Sie rechnen. Setzen Sie Leerzeichen um den Operator oder verwenden Sie Klammern – daran erkennt der Editor, dass es sich um eine Berechnung und nicht um Text handelt.
| Sie geben ein | Ergebnis |
|---|---|
$amount * 1.21 | 1513.105 |
$invoice_no + 1 | 2024002 |
($amount + 100) / 2 | 675.25 |
20240201-001 | 20240201-001 – Text, keine Subtraktion |
Ohne Leerzeichen um den Operator wird der Wert als Text behandelt, sodass Belegnummern und Zahlungsreferenzen unverändert bleiben.
Die automatische Vervollständigung
- Geben Sie
$ein, und die Liste der Variablen öffnet sich; wählen Sie eine aus, und der vollständige Name wird eingefügt. - Das Wort vor
$bleibt erhalten – wenn SieGood morningund danach$eingeben, wird es nicht überschrieben. - Sie möchten ein Leerzeichen? Geben Sie es selbst ein:
Good morning $name. - Die Registerkarten oben enthalten mehr als nur Variablen: Variablen, Operatoren, Konstanten, Allgemein, Mathematik, Text und Datum & Uhrzeit. Der ausgewählte Eintrag wird zusammen mit einem Beispiel seiner Syntax eingefügt.
- Die farbliche Hervorhebung markiert Variablen im Feld, sodass Sie auf einen Blick sehen, was ersetzt wird und was reiner Text ist.
- Die Vorschau unter dem Feld zeigt das Ergebnis. Grün bedeutet, dass alles in Ordnung ist; Rot bedeutet einen Fehler – meist einen Tippfehler im Variablennamen.
- Enthält eine Variable eine feste Menge von Werten – zum Beispiel Koordinaten –, bietet das
Popup jede Position direkt an:
$coords[0],$coords[1], … Die Klammern müssen Sie nicht mehr selbst eingeben. - Wenn Sie einen Vorschlag mitten im Wort auswählen, ersetzt er das, was Sie bereits begonnen
hatten, statt es zu verdoppeln – so entsteht kein fehlerhafter Ausdruck wie
$co$coordsmehr.
Speichern und erneut öffnen
Der Wert wird so gespeichert, dass er sich immer gleich verhält. Wenn Sie die Aktion erneut öffnen, sehen Sie ihn wieder in lesbarer Form und nicht in einer technischen Schreibweise:
| Sie geben ein | Nach dem erneuten Öffnen |
|---|---|
Record $name cannot be processed | Record $name cannot be processed |
Auch ältere Szenarien werden korrekt geöffnet. Selbst wenn ein Wert noch auf die alte Art geschrieben wurde – mit Anführungszeichen und Pluszeichen –, wird er in der neuen lesbaren Form angezeigt und verhält sich wie zuvor.
Windows-Pfade bleiben beim Speichern und erneuten Öffnen unverändert, auch UNC-Pfade, und lassen sich wie erwartet mit Variablen kombinieren:
| Sie geben ein | Nach dem erneuten Öffnen |
|---|---|
C:\Users\name\Documents\$file | C:\Users\name\Documents\$file |
\\server\share\$folder | \\server\share\$folder |
Bis einschließlich 0.24.0 wurde ein solcher Pfad beim Speichern verfälscht – die
Trennzeichen wurden verdoppelt, die Markierung $ blieb als wörtlicher Text stehen, und die
Aktion ließ sich nicht mehr bearbeiten –, sodass sich ein Dateipfad aus einer Variablen nicht
wirklich zusammensetzen ließ. Behoben in 0.25.0.
Die Korrektur hat eine Folge, die Sie kennen sollten: Ein eingegebenes \n innerhalb eines
Textwerts wird als Backslash und Buchstabe n gespeichert, nicht als Zeilenumbruch, denn ein
Literal in Anführungszeichen speichert jetzt genau die Zeichen, die es anzeigt. Für einen
echten Zeilenumbruch oder Tabulator wählen Sie newline oder tab auf der Registerkarte
Konstanten der automatischen Vervollständigung.
Häufige Fehler
| Sie geben ein | Ergebnis | Lösung |
|---|---|---|
name | name – ein gewöhnliches Wort, nicht der Wert | Das $ fehlt. Verwenden Sie $name. |
Good morning$name | Good morningJan Novák | Vor $ fehlt ein Leerzeichen: Good morning $name. |
$naame | rote Vorschau – die Variable existiert nicht | Tippfehler. Wählen Sie die Variable in der automatischen Vervollständigung aus. |
Line one\nLine two | Line one\nLine two – ein Backslash und ein n, keine zwei Zeilen | Ein eingegebenes \n ist kein Zeilenumbruch. Fügen Sie newline von der Registerkarte Konstanten ein. |
Fortgeschrittene Ausdrücke
Das Feld akzeptiert auch Berechnungen, Textbearbeitung, Datumsverarbeitung und Bedingungen. Die
Schreibweise ist Python; Variablen werden weiterhin mit $ gekennzeichnet.
Zugriff auf Daten
Enthält eine Variable eine Liste oder ein Wörterbuch, greifen Sie mit eckigen Klammern auf den
Inhalt zu. Sobald Sie [ eingeben, bietet die automatische Vervollständigung die Schlüssel
oder Positionen direkt an.
| Sie geben ein | Ergebnis |
|---|---|
$items[0] | apples – erstes Element, gezählt ab null |
$items[-1] | plums – letztes Element |
$record['state'] | OK – Wert anhand des Schlüssels |
$record['id'] | 7 |
$name[0:3] | Jan – die ersten drei Zeichen |
Mit derselben Schreibweise schneiden Sie einen Teil einer Liste aus.
Arbeiten mit Text
Schreiben Sie nach der Variablen einen Punkt und den Namen einer Operation:
| Sie geben ein | Ergebnis |
|---|---|
$name.upper() | JAN NOVÁK |
$text.strip() | Invoice 2024 – entfernt Leerzeichen am Anfang und am Ende |
$name.replace('Novák', 'Nový') | Jan Nový |
$date.split('.') | ['01', '02', '2024'] |
", ".join($items) | apples, pears, plums |
$text.strip().lower() | invoice 2024 – Operationen lassen sich verketten |
Funktionen
Die Registerkarten Allgemein und Mathematik der automatischen Vervollständigung listen auf, was verfügbar ist, jeweils mit Beschreibung und Beispiel.
| Sie geben ein | Ergebnis |
|---|---|
len($items) | 3 – Anzahl der Elemente |
len($name) | 9 – Anzahl der Zeichen |
int($amount) | 1250 |
str($count) | 3 – als Text |
round($amount) | 1250.0 |
max($count, 10) | 10 – der größere der beiden Werte; min entsprechend |
sum([1, 2, 3]) | 6 |
abs(-5) | 5 |
Listen, Wörterbücher und Tupel
Nützlich, wenn Sie mehrere Werte auf einmal übergeben müssen – in ein Formular oder an eine andere Aktion.
| Sie geben ein | Ergebnis |
|---|---|
[$name, $count] | ['Jan Novák', 3] – Liste |
{id:$count, name:$name} | {'id': 3, 'name': 'Jan Novák'} – Wörterbuch |
($count, $amount) | (3, 1250.5) – Tupel |
Schlüsselnamen brauchen keine Anführungszeichen. Nach dem erneuten Öffnen sehen Sie sie in
Anführungszeichen – {'id':$count, …} –, was dasselbe ist.
Beachten Sie den Unterschied: $count, $amount ohne weiteren Inhalt ist ein Tupel,
während We have $count for $amount CZK Text ist.
Datum und Uhrzeit
Ein als Text gespeichertes Datum muss zuerst mit datetime_parse eingelesen und dann mit
datetime_format ausgegeben werden.
| Sie geben ein | Ergebnis |
|---|---|
datetime_parse($date, '%d.%m.%Y') | das aus dem Text gelesene Datum |
datetime_format(datetime_parse($date, '%d.%m.%Y'), '%Y-%m-%d') | 2024-02-01 |
datetime_format(datetime.datetime.now(), '%d.%m.%Y') | das heutige Datum |
datetime_format(datetime_add(datetime.datetime.now(), days=7), '%d.%m.%Y') | das Datum in einer Woche |
| Hilfsfunktion | Was sie erwartet |
|---|---|
datetime_parse(text, format, tz=None) | Liest ein Datum aus Text. |
datetime_format(date, format) | Gibt ein Datum als Text aus. |
datetime_add(date, …) | Verschiebt ein Datum um days, hours, minutes, seconds, microseconds, months oder years. |
datetime_set(date, …) | Setzt einen bestimmten Teil – day, month, year, hour, minute, second, microsecond. |
Formatcodes: %d Tag, %m Monat, %Y vierstelliges Jahr, %H Stunde, %M Minute.
Konstanten und Systemwerte
Die Registerkarte Konstanten enthält vorbereitete Werte; wenn Sie einen auswählen, wird der gesamte Ausdruck eingefügt.
| Sie geben ein | Ergebnis |
|---|---|
datetime.datetime.now() | aktuelles Datum und aktuelle Uhrzeit |
int(datetime.datetime.now().timestamp()) | Sekunden seit der Epoche, z. B. 1785841813 |
random.randint(1, 100) | eine Zufallszahl |
$CONSTANTS['FULL_DATE'] | eine szenarioweite Konstante – siehe die vollständige Liste |
chr(10) | ein Zeilenumbruch – auf der Registerkarte als newline angeboten |
chr(9) | ein Tabulatorzeichen – auf der Registerkarte als tab angeboten |
Module
Fünf Module stehen zur Verfügung: re, math, random, datetime und
aiviro.
| Sie geben ein | Ergebnis |
|---|---|
re.sub('[0-9]', '', $text) | ' Invoice ' – entfernt alle Ziffern |
math.ceil($amount) | 1251 – rundet auf |
random.randint(1, 100) | eine Zufallszahl von 1 bis 100 |
Zahlensysteme
| Sie geben ein | Ergebnis |
|---|---|
bin($count) | 0b11 |
hex($count) | 0x3 |
oct($count) | 0o3 |
int("1100", 2) | 12 – aus binärem Text zurück in eine Zahl |
Operatoren
Alle unten aufgeführten Operatoren finden Sie mit Beschreibung auch auf der Registerkarte Operatoren der automatischen Vervollständigung.
Arithmetik
| Sie geben ein | Ergebnis | Bedeutung |
|---|---|---|
$amount + $count | 1253.5 | addieren |
$amount - $count | 1247.5 | subtrahieren |
$amount * $count | 3751.5 | multiplizieren |
$amount / $count | 416.833… | dividieren – das Ergebnis ist eine Dezimalzahl |
$amount // $count | 416.0 | ganzzahlige Division |
$amount % $count | 2.5 | Rest – praktisch zur Prüfung auf gerade/ungerade |
$count ** 2 | 9 | Potenz |
Verbinden und Wiederholen
+ und * funktionieren auch mit Text und Listen – dort verbinden bzw. wiederholen sie,
statt zu addieren.
| Sie geben ein | Ergebnis |
|---|---|
$items + ["berries"] | ['apples', 'pears', 'plums', 'berries'] |
"-" * 20 | -------------------- – eine Trennlinie |
Sie brauchen kein +, um Text aus Variablen zusammenzusetzen – schreiben Sie einfach den
Satz und kennzeichnen Sie die Variablen mit $.
Vergleich
Wird vor allem in der Aktion Bedingung und in Schleifenaktionen verwendet, wo der Editor
fragt: „Soll das ausgeführt werden?“ Die Antwort ist True oder False.
| Sie geben ein | Ergebnis | Bedeutung |
|---|---|---|
$amount > 1000 | True | größer als; < ist kleiner als |
$count <= 3 | True | kleiner oder gleich; >= entsprechend |
$record['state'] == "OK" | True | gleich – beachten Sie die zwei Gleichheitszeichen |
$name != "Petr" | True | ungleich |
Logik
| Sie geben ein | Ergebnis | Bedeutung |
|---|---|---|
$amount > 1000 and $count > 1 | True | beide Bedingungen müssen erfüllt sein |
$amount > 5000 or $count > 1 | True | mindestens eine muss erfüllt sein |
not $note | True | Negation – erfüllt, wenn der Wert leer ist |
$count > 1 and $count < 10 | True | ein Bereich |
Leerer Text, die Zahl 0 und eine leere Liste gelten als „nein“; alles, was ausgefüllt ist, gilt als „ja“.
Enthält / ist enthalten in
| Sie geben ein | Ergebnis |
|---|---|
"apples" in $items | True |
"bananas" not in $items | True |
"state" in $record | True – hat das Wörterbuch diesen Schlüssel? |
"Novák" in $name | True – Suche nach einer Teilzeichenfolge im Text |
$note is None | False – leerer Text ist nicht dasselbe wie None |
Zwei nützliche Tricks
| Sie geben ein | Ergebnis |
|---|---|
$note or "not filled in" | not filled in – ein Ersatzwert, wenn die Variable leer ist |
len($items) > 2 | True – eine Bedingung auf Grundlage des Ergebnisses einer Funktion |
Einzeilige Bedingungen
Für ein einfaches „wenn ja, dann A, sonst B“ schreiben Sie die Bedingung direkt in das Feld – typischerweise in Variable erstellen.
| Sie geben ein | Ergebnis |
|---|---|
"VIP" if $amount > 1000 else "standard" | VIP |
$name if $name else "unknown customer" | Jan Novák oder unknown customer, falls $name leer wäre |
Eine Liste umwandeln und filtern
Mit einer einzigen Zeile können Sie eine Liste durchlaufen und jedes Element ändern oder herausfiltern.
| Sie geben ein | Ergebnis |
|---|---|
[i.upper() for i in $items] | ['APPLES', 'PEARS', 'PLUMS'] |
[i for i in $items if i != 'pears'] | ['apples', 'plums'] |
len([i for i in $items if i != 'pears']) | 2 |
i ist nur ein Hilfsname für ein einzelnes Element – er bekommt kein $.
F-Strings
Ein F-String ist Text, in den Werte eingesetzt werden, und wurde früher als
f"text {variable}" geschrieben. Das müssen Sie nicht mehr selbst schreiben: Geben Sie den
Text ein und kennzeichnen Sie Variablen mit $, und der Editor erstellt den F-String selbst.
| Sie geben ein | Ergebnis |
|---|---|
Record $name cannot be processed | Record Jan Novák cannot be processed |
f"Hello {name}" | Hello Jan Novák |
Von Hand geschrieben funktioniert es ebenfalls. Innerhalb der geschweiften Klammern steht
jedoch kein $ – {name} ist richtig, {$name} nicht. Nach dem erneuten Öffnen sehen Sie
die einfachere Form, Hello $name.
Ältere Szenarien mit F-Strings funktionieren weiterhin und werden korrekt geöffnet.
Wann Sie stattdessen Python-Code verwenden sollten
Das Wertefeld ist für einen Wert in einer Zeile gedacht. Sobald Sie mehrere Schritte nacheinander, Schleifen, Fehlerbehandlung oder längere Logik benötigen, verwenden Sie die Aktion Python-Code – dort steht Ihnen ein vollständiger Editor zur Verfügung, und der Code bleibt lesbar.