Home » Articole » RO » Calculatoare » Programare » Python » Expresii în limbajul de programare Python

Expresii în limbajul de programare Python

postat în: Python 0

Unele expresii Python sunt similare cu limbaje precum C și Java, în timp ce altele nu sunt:

  • Adunarea, scăderea și multiplicarea sunt aceleași, dar comportamentul diviziunii diferă. Există două tipuri de diviziuni în Python. Acestea sunt diviziune la nivel de etaj (sau diviziune întreg) // și diviziune/virgulă mobilă . Python a adăugat, de asemenea, operatorul ** pentru exponențiere.
  • Din Python 3.5, a fost introdus noul operator @ infix. Este destinat să fie utilizat de biblioteci precum NumPy pentru multiplicarea matricii.
  • Din Python 3.8, a fost introdusă sintaxa :=, numită „operator morsă”. Atribuie valori variabilelor ca parte a unei expresii mai mari.
  • În Python, == compară după valoare, comparativ cu Java, care compară numeric după valoare și obiecte prin referință. (Compararea valorilor în Java pe obiecte poate fi efectuată cu metoda equals().) În Python operatorul is poate fi folosit pentru a compara identitățile obiectelor (comparație prin referință). În Python, comparațiile pot fi înlănțuite, de exemplu a <= b <= c.
  • Python folosește cuvintele and, or, not pentru operatorii săi booleeni, mai degrabă decât simbolicul &&, ||, ! folosit în Java și C.
  • Python are un tip de expresie denumit înțelegerea listei. Python 2.4 extinde înțelegerea listei într-o expresie mai generală denumită expresie generator.
  • Funcțiile anonime sunt implementate folosind expresii lambda; totuși, acestea sunt limitate prin faptul că corpul nu poate fi decât o singură expresie.
  • Expresiile condiționale din Python sunt scrise ca x if c else y (diferit în ordinea operanzilor de operatorul
    c ? x : y
    comun pentru multe alte limbi).
  • Python face o distincție între liste și tuple. Listele sunt scrise ca [1, 2, 3], sunt mutabile și nu pot fi folosite ca chei ale dicționarelor (cheile de dicționar trebuie să fie imuabile în Python). Tuplele sunt scrise ca(1, 2, 3), sunt imuabile și astfel pot fi folosite ca chei ale dicționarelor, cu condiția ca toate elementele tuplei să fie imuabile. Operatorul + poate fi utilizat pentru concatenarea a două tuple, care nu le modifică direct conținutul, ci mai degrabă produce un nou tuplu care conține elementele ambelor tuple furnizate. Astfel, având în vedere variabila t inițial egală cu (1,
    2, 3)
    , executarea t = t + (4, 5) evaluează mai întâi t
    + (4, 5)
    , care produce (1, 2, 3, 4, 5), care este apoi atribuit înapoi la t, astfel „modificând în mod eficient conținutul” lui t, în timp ce se conformează naturii imuabile a obiectelor tuple. Parantezele sunt opționale pentru tuple în contexte neechivoce.
  • Python prezintă despachetarea secvenței în care mai multe expresii, fiecare care evaluează orice poate fi atribuit (la o variabilă, o proprietate care se poate scrie, etc.), sunt asociate în mod identic cu cel care formează literalele tuplei și, în ansamblu, sunt puse pe partea stângă a semnului egal într-o declarație de atribuire. Instrucțiunea se așteaptă la un obiect iterabil în partea dreaptă a semnului egal care produce același număr de valori ca și expresiile inscriptibile furnizate atunci când este iterat și va itera prin acesta, atribuind fiecare dintre valorile produse expresiei corespunzătoare din stânga.
  • Python are un operator „format șir” %. Aceasta funcționează în mod analog cu șirurile de format
    printf
    în C, de ex.
    "spam=%s
    eggs=
    %d"
    % ("blah",
    2)
    se consideră
    "spam=blah eggs=2"
    . În Python 3 și 2.6+, acest lucru a fost completat de metoda format() a clasei str, de ex.
    spam={0}
    eggs=
    {1}".format("blah",
    2)
    . Python 3.6 a adăugat „f-string”:
    blah = "blah";
    eggs = 2;
    f'spam={blah}
    eggs=
    {eggs}'
    .
  • Șirurile din Python pot fi concatenate, prin „adăugarea” lor (același operator ca pentru adăugarea de numere întregi și flotante). De exemplu.
    "spam" +
    "eggs"
    returnează "spameggs". Chiar dacă șirurile dvs. conțin numere, ele sunt adăugate în continuare ca șiruri mai degrabă decât ca numere întregi. De exemplu.
    "2" + "2"
    returnează "22".
  • Python are diferite tipuri de literale de șir:
    • Șiruri delimitate de ghilimele simple sau duble. Spre deosebire de shell-urile Unix, Perl și limbajele influențate de Perl, ghilimelele unice și ghilimelele duble funcționează identic. Ambele tipuri de șiruri folosesc bară inversă (\) pe post de caracter de evacuare. Interpolarea șirurilor a devenit disponibilă în Python 3.6 ca „literale de șir formatate”.
    • Șiruri de citate triple, care încep și se termină cu o serie de trei ghilimele simple sau duble. Acestea pot acoperi mai multe linii și pot funcționa ca documentele here din shell, Perl și Ruby.
    • Varietăți de șiruri brute, notate prin prefixarea literalei de șirului cu un r. Secvențele de evadare nu sunt interpretate; prin urmare, șirurile brute sunt utile acolo unde sunt frecvente backslash-uri literale, cum ar fi expresiile regulate și căile în stil Windows.
  • Python are expresii de indexare și feliere de matrice pe liste, notate ca a[key], a[start:stop] or a[start:stop:step]. Indexurile sunt bazate pe zero, iar indicii negativi sunt relativ la final. Feliile iau elemente de la indexul de pornire până la, dar nu includ, indexul stop. Al treilea parametru felie, numit step sau stride, permite elementelor să fie omise și inversate. Indexurile de felii pot fi omise, de exemplu a[:] returnează o copie a întregii liste. Fiecare element al unei felii este o copie shallow.

În Python, o distincție între expresii și enunțuri este aplicată rigid, spre deosebire de limbaje precum Common Lisp, Scheme sau Ruby. Acest lucru duce la duplicarea unor funcționalități. De exemplu:

  • Înțelegerea listei vs. for-loops
  • Expresii condiționale vs. if blocks
  • Funcțiile încorporate eval() vs. exec() (în Python 2, exec este o instrucțiune); prima este pentru expresii, cea din urmă este pentru enunțuri.

Enunțurile nu pot face parte dintr-o expresie, deci lista și alte înțelegeri sau expresii lambda, toate fiind expresii, nu pot conține declarații. Un caz particular este că o instrucțiune de atribuire, cum ar fi a = 1 nu poate face parte din expresia condiționată a unei instrucțiuni condiționate. Acest lucru are avantajul de a evita o eroare clasică C de a greși un operator de atribuire = pentru un operator de egalitate == în condiții: if (c = 1) { ... } este sintactic valid (dar probabil neintenționat) codul C, dar if c = 1: ... provoacă o eroare de sintaxă în Python.

Include texte traduse ;i adaptate din Wikipedia

Tehnologia Blockchain - Bitcoin
Tehnologia Blockchain – Bitcoin

Internetul a schimbat complet lumea, cultura şi obiceiurile oamenilor. După o primă fază caracterizată prin transferul liber al informaţiilor, au apărut preocupările pentru siguranţa comunicaţiilor online şi confidenţialitatea utilizatorilor. Tehnologia blockchain asigură ambele aceste deziderate. Relativ nouă, ea are şansa să producă … Citeşte mai mult

Nu a fost votat $2,99$5,16 Selectează opțiunile
Telelucru (Telework)
Telelucru (Telework)

Telelucrul, ca un nou mod de a lucra prin efectuarea unei activităţi (forme de muncă) flexibile în timp şi la distanţă, utilizând tehnologia informaţională şi comunicaţiile avansate, se concretizează în teleactivităţi şi teleservicii. În ultimii ani, s-au dezvoltat rapid noi … Citeşte mai mult

Nu a fost votat $0,00 Selectează opțiunile
Lucrul cu baze de date
Lucrul cu baze de date

Colecția ȘTIINȚA INFORMAȚIEI Lucrul cu bazele de date este astăzi printre cele mai căutate abilități IT. Acum puteți obține o bază de plecare în proiectarea și implementarea bazelor de date cu o abordare practică, ușor de înțeles. ”Lucrul cu baze … Citeşte mai mult

Nu a fost votat $3,99$7,18 Selectează opțiunile

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *