Python 3.9: Ce este nou acum? Funcții interesante pentru finalizarea comenzii

Publicat: 2020-12-01

Python este un limbaj favorit din toate timpurile și cel mai favorit printre dezvoltatori. Potrivit indexului Tiobe, care este o comunitate de programare care clasifică limbajele de programare în funcție de popularitatea lor, Python a fost clasat pe locul al doilea, depășind Java. Python are un suport excelent al comunității și datorită simplității și naturii ușor de utilizat, fiecare începător aspiră să stăpânească cel puțin acest limbaj.

În timp ce acest limbaj a captat o mulțime de globi oculari în ultimii ani, găsindu-și utilizarea în domeniul analizei datelor, învățării automate, dezvoltării web, aplicațiilor computerizate, IOT sau alte domenii de dezvoltare, cea mai recentă versiune Python 3.9 stabilă a fost lansată și aduce un multe modificări de la parser la funcționalități suplimentare de schimbat în cronologia lansărilor de caracteristici. Să ne uităm la aceste modificări în detaliu:

Cuprins

Operator nou

În timp ce ne ocupăm de dicționare, de foarte multe ori trebuie să le îmbinăm sau să le actualizăm cu intrări din alte dicționare. Mai devreme, acest lucru se putea face folosind atributul de actualizare al obiectului dicționar: first_dict.update(second_dict), dar problema cu această abordare este că modificările sunt făcute în loc, iar valorile originale sunt modificate.

Pentru a face o modificare temporară, este necesară o altă variabilă pentru a stoca valoarea anterioară. Această nouă versiune a introdus un nou operator cunoscut sub numele de operator de îmbinare (|) care poate fi folosit pentru a îmbina dicționare. Iată un exemplu de cod pentru a înțelege acest lucru:

A = { „nume” : „Autor”, „companie” : „upGrad”}

B = { „status” : „instructor”}

imprimare (A|B)

Ieșire: { „nume” : „Autor”, „companie” : „upGrad”, „status” : „instructor”}

| este ca un operator de concatenare, dar dacă doriți să actualizați valoarea inițială, puteți utiliza pur și simplu operatorul |=. Continuând exemplul anterior, A |=B va actualiza valoarea dicționarului A.

Citește și: Salariu pentru dezvoltatori Python în India

Operații cu șiruri

Manipularea textului reprezintă o parte majoră a ciclului de viață al științei datelor, în special în timpul NLP. Există diferite funcții pentru a efectua diferite tipuri de operații pe șir, cum ar fi împărțirea, concatenarea, înlocuirea și multe altele. Alăturându-se acestei moșteniri, au fost adăugate două operațiuni noi, care sunt removesuffix() și removeprefix().

După cum sugerează și numele, acestea sunt folosite pentru a elimina prefixele și sufixele dintr-un șir. Ele sunt accesibile prin utilizarea obiectului șir. Această eliminare ar putea fi făcută cu ușurință folosind expresii regulate și tăierea șirurilor de caractere, dar acum avem această funcționalitate în bibliotecile încorporate. Iată un exemplu simplu cu scop ilustrativ:

'@something_new'.removeprefix('@')

'something_231'.removesufix('231')

Ieșire:

ceva nou

ceva_

Modul de fus orar modificat

Această versiune a introdus, de asemenea, un nou modul numit zone info care sprijină baza de date IANA în biblioteca standard. Putem specifica fusul orar în obiectul DateTime din biblioteca standard, dar utilizatorul poate ajunge să creeze reguli complexe pentru fusurile orare. Conform PEP 615, baza de utilizatori este mai înclinată către fusurile orare majore, cum ar fi UTC, IANA sau fusul orar local al sistemului. Acum puteți crea un obiect de informații despre zonă specificând calea de căutare de configurare care are forma „continent/oraș”. De exemplu,

din zoneinfo import ZoneInfo

de la datetime import datetime

dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(„Asia/Kolkata”))

dt.tzname()

Ieșire: „IST”

Aflați despre: Cele mai bune instrumente Python

Noi funcții matematice

Modulul de matematică constă din toate operațiile numerice care sunt utilizate în matematica generală. Fie că este vorba de funcții sinus, cosinus, rotunjirea numerelor la anumite locuri sau constante universale, cum ar fi pi sau exponențial, modulul de matematică acoperă aproape toate tipurile de funcții.

Trei funcții noi au fost adăugate la această listă și există math.lcm(), math.nextafter(), math.ulp(). În timp ce LCM (Least Common Multiple) este o funcție foarte frecvent utilizată, celelalte două nu sunt folosite la fel de mult. Mai devreme, a trebuit să creăm în mod explicit o funcție pentru operarea LCM, dar acum, începând cu această nouă versiune, avem o funcționalitate încorporată în biblioteca standard. Pentru a utiliza această funcție, trebuie doar să apelați:

import matematică

math.lcm(2,3)

Ieșire: 6

Dacă nu sunt transmise argumente în această funcție, atunci returnează 1 și dacă unul dintre ele este zero, returnează 0.

Analizator de înaltă performanță

Pe lângă toate adăugările noi la nivel de caracteristici, analizatorul de limbaj Python este, de asemenea, actualizat la o tehnologie nouă, mai rapidă, cunoscută sub numele de parser PEG. Acest efect nu se va reflecta în această versiune, ci în viitorul Python 3.10. Din ziua în care Python a fost creat, a folosit analizatorul LL(1) care analizează codul de sus în jos și de la stânga la dreapta. Acest parser se bazează pe gramatică fără context și, prin urmare, este ambiguu, ceea ce înseamnă că șirurile pot avea mai mult de un arbore de analiză și creșterea numărului de pași intermediari. Noul parser PEG generează un singur AST valid (Abstract Syntax Trees) eliminând ambiguitatea parserului anterior.

Funcție aleatorie nouă și modificare a ciclului de lansare

În modulul random.random, a fost adăugată o nouă metodă randbytes(n) care returnează n octeți aleatori. Este foarte asemănător cu alte funcții aleatorii. De asemenea, anterior, Python lansează o nouă versiune la fiecare 18 luni, care a fost redusă la 12 luni.

Obțineți certificare în știința datelor de la cele mai bune universități din lume. Învață programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Ori de câte ori este lansată o nouă versiune de software, aceasta însoțește o mulțime de noi modificări. Aici am discutat câteva dintre modificările majore și evidențiate în Python, care includ operator nou, funcții adăugate și parser îmbunătățit.

Există o mulțime de modificări noi și în alte module, cum ar fi ast, asyncio, concurrent.futures, multiprocessing, XML. Unele funcții au fost amortizate și lista continuă. Puteți verifica documentația oficială pentru o listă completă de actualizări în noul Python 3.9.

Dacă sunteți curios să aflați despre python, știința datelor, consultați Diploma PG în știința datelor de la IIIT-B și upGrad, care este creată pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

De ce este preferat Python față de alte limbaje de codare?

Există numeroase motive pentru care Python este preferat față de alte limbi. În primul rând, codurile Python sunt lizibile și înțelese chiar și de către dezvoltatorii care nu le-au mai scris niciodată. Python este comun în comunitatea științifică și numeroși cercetători și profesori se numără printre utilizatorii Python. Codurile realizate pe Python pot fi partajate, copiate și modificate de către dezvoltatori. De asemenea, Python are o comunitate puternică și evoluează rapid, deoarece este un limbaj de programare gratuit și deschis. Python este compatibil cu o gamă largă de sisteme. Ajută dezvoltatorii, deoarece nu se confruntă cu dificultăți care sunt predominante în alte limbi.

Care este utilizarea math.nextafter() și math.ulp() în Python?

Nextafter() și ulp() sunt două funcții noi adăugate bibliotecii de matematică în Python 3.9.0. Funcția nextafter() returnează următoarea valoare flotantă după x în direcția lui y. Dacă x este egal cu y, se returnează valoarea y. Sintaxa sa este math.nextafter(x, y), unde x și y sunt două numere întregi/valori în virgulă mobilă. ULP este o abreviere care înseamnă unitate în ultimul loc. ULP este spațiul dintre valorile în virgulă mobilă în analiza numerică și informatică. Funcția math.ulp() returnează valoarea bitului cel mai puțin semnificativ al float x. Sintaxa sa este ulp(x) matematică, iar argumentul de introdus, x, trebuie să fie un float, al cărui ulp trebuie returnat.

Ce este Parser în Python?

În timpul etapei de analiză a sintaxei, un compilator examinează dacă tokenurile create de analizatorul lexical sunt sau nu organizate conform regulilor sintactice ale limbajului. Un parser este responsabil pentru acest lucru. Analizorul primește un șir de jetoane de la analizatorul lexical și validează că șirul corespunde gramaticii limbii sursă. Orice probleme de sintaxă sunt detectate și raportate și este produs un arbore de analiză din care dezvoltatorii pot genera cod intermediar. De asemenea, modulul parser comunică cu analizatorul intern al lui Python și cu compilatorul de cod de octet. Scopul principal al acestei interfețe este de a permite codurilor Python să modifice arborii de analiză a unei expresii Python și să genereze coduri de lucru din aceasta.