Dacă ați studiat limbajul C/C++, utilizați atribuirea în cod folosind operatorul "
:=",
însă precum ați observat în limbajul Python, folosim aici pur și simplu semnul egal ("
=").
Începând cu
versiunea 3.8 a limbajului de programare Python a fost introdus operatorul numit
walrus (în română,
morsa):
considerându-se a fi una dintre cele mai mari îmbunătățiri ale versiunii deoarece au fost introduse
expresiile de atribuire (în engleză,
assignment expressions).
ESENȚA
Operatorul
walrus permite
atribuirea de valori în interiorul unei expresii.
Exemplu.
Citirea valorilor de la tastatură. Să presupunem că dorim să citim valori întregi până
la introducerea lui
0, reținându-le într-o simplă listă. Putem scrie de acum și astfel în Python:
Foarte important! Exemplele găsite pe Internet adesea nu sunt analizate în profunzime… Operatorul walrus este
foarte puternic, iar tipul datelor reținute de valoare depinde foarte mult de modul în care am creat codul.
Mai sus, deoarece am folosit parantezele în cadrul expresiei booleene, tipul variabilei
valoare este
int, ceea ce ne și doream:
Dacă eliminăm parantezele pentru expresia de atribuire, variabila
valoare va reține o
valoare booleană (
True /
False), ceea ce nu este necesar în acest caz și obțin date total eronate.
De ce se întâmplă asta? Atribuirea fiind efectuată la nivelul comparației logice dintre expresia de
atribuire și valoarea
0, este considerată tot de tip boolean deoarece
0 este interpretat ca
False –
atenție la prioritatea operatorilor din Python!
Două paranteze rotunde … cât de fin este Python, nu este așa?
Așadar, foarte mare atenție! Am scris 5 linii de cod și deja puteam greși.
Important! Trebuie să aveți în vedere că operatorul walrus poate simplifica și optimiza codul într-un mod considerabil
în anumite situații, însă poate genera o complexitate crescută și o dificultate de înțelegere a
acestuia. De aceea, este recomandat să utilizați cu precauție acest operator și să nu exagerați cu includerea lui.
Acest operator nu a fost implementat pentru editorul online de pe site, așadar îl puteți folosi doar
pe calculatorul vostru, unde aveți instalat mediul de programare Python (versiunea 3.8+).
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic]
securizat sub formă
de fișier *.pdf.
"
O cameră fără cărţi este ca un corp fără suflet."
(G. K. Chesterton)
Cursanții au mai cumpărat ...
[
vezi lista completă a cărților]