Python 3.9: Cosa c'è di nuovo ora? Funzionalità interessanti per il checkout
Pubblicato: 2020-12-01Python è il linguaggio preferito di tutti i tempi e il più favorito tra gli sviluppatori. Secondo The Tiobe index, una comunità di programmazione che classifica i linguaggi di programmazione in base alla loro popolarità, Python è stato classificato secondo superando Java. Python ha un eccellente supporto dalla comunità e grazie alla sua semplicità e alla sua natura facile da usare, ogni principiante aspira a padroneggiare almeno questo linguaggio.
Sebbene questo linguaggio abbia catturato molti occhi negli ultimi anni trovando il suo utilizzo nel campo dell'analisi dei dati, dell'apprendimento automatico, dello sviluppo web, delle applicazioni per computer, dell'IOT o di altre aree di sviluppo, la sua ultima versione Python 3.9 stabile è stata rilasciata e offre un molte modifiche dal parser a funzionalità aggiuntive da modificare nella sequenza temporale dei rilasci delle funzionalità. Diamo un'occhiata a queste modifiche in dettaglio:
Sommario
Nuovo operatore
Quando si ha a che fare con i dizionari, molto spesso è necessario unirli o aggiornarli con voci di altri dizionari. In precedenza ciò poteva essere fatto utilizzando l'attributo update dell'oggetto dizionario: first_dict.update(second_dict) ma il problema con questo approccio è che le modifiche vengono eseguite sul posto e i valori originali vengono modificati.
Per renderlo una modifica temporanea, è necessaria un'altra variabile per memorizzare il valore precedente. Questa nuova versione ha introdotto un nuovo operatore noto come operatore di unione (|) che può essere utilizzato per unire dizionari. Ecco un esempio di codice per capirlo:
A = { “nome” : “Autore”, “azienda” : “upGrad”}
B = { “stato” : “istruttore”}
stampa (A|B)
Output: { “nome” : “Autore”, “azienda” : “upGrad”, “status” : “istruttore”}
| è come un operatore di concatenazione ma se vuoi aggiornare il valore originale puoi semplicemente usare l'operatore |=. Continuando l'esempio precedente, A |=B aggiornerà il valore del dizionario A.
Leggi anche: Stipendio per sviluppatori Python in India
Operazioni sulle stringhe
La manipolazione del testo costituisce una parte importante del ciclo di vita della scienza dei dati, specialmente durante la PNL. Esistono diverse funzioni per eseguire diversi tipi di operazioni sulle stringhe come la divisione, la concatenazione, la sostituzione e molte altre. Unendosi a questa eredità, sono state aggiunte due nuove operazioni che sono removesuffix() e removeprefix().
Come suggerisce il nome, vengono utilizzati per rimuovere prefissi e suffissi da una stringa. Sono accessibili utilizzando l'oggetto stringa. Questa rimozione potrebbe essere eseguita facilmente utilizzando le espressioni regolari e lo slicing delle stringhe, ma ora abbiamo questa funzionalità nelle librerie integrate. Ecco un semplice esempio a scopo illustrativo:
'@qualcosa_di_nuovo'.removeprefix('@')
'qualcosa_231'.removesufix('231')
Produzione:
qualcosa di nuovo
qualche cosa_
Modulo Fuso orario modificato
Questa versione ha anche introdotto un nuovo modulo denominato zone info che supporta il database IANA nella libreria standard. Possiamo specificare il fuso orario nell'oggetto DateTime dalla libreria standard, ma l'utente può finire per creare regole complesse per i fusi orari. Secondo PEP 615, la base di utenti è più incline ai fusi orari principali come UTC, IANA o fuso orario locale di sistema. Ora puoi creare un oggetto info zona specificando il percorso di ricerca della configurazione che è nel formato "continente/città". Per esempio,
da zoneinfo importa ZoneInfo
da datetime import datetime
dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo("Asia/Kolkata"))
dt.tzname()
Uscita: 'IST'
Informazioni su: I migliori strumenti Python
Nuove funzioni matematiche
Il modulo di matematica è costituito da tutte le operazioni numeriche utilizzate nella matematica generale. Che si tratti di funzioni seno, coseno, arrotondamento di numeri a punti specifici o costanti universali come pi o esponenziale, il modulo matematico copre quasi tutti i tipi di funzioni.

Tre nuove funzioni sono state aggiunte a questo elenco e ci sono math.lcm(), math.nextafter(), math.ulp(). Mentre l'LCM (Least Common Multiple) è una funzione molto comunemente usata, le altre due non vengono utilizzate altrettanto. In precedenza, dovevamo creare esplicitamente una funzione per l'operazione LCM, ma ora, a partire da questa nuova versione, abbiamo una funzionalità integrata nella libreria standard. Per utilizzare questa funzione è sufficiente chiamare:
importa la matematica
math.lcm(2,3)
Uscita: 6
Se non vengono passati argomenti in questa funzione, restituisce 1 e se uno di essi è zero, restituisce 0.
Analizzatore ad alte prestazioni
Oltre a tutte le nuove aggiunte a livello di funzionalità, il parser del linguaggio Python è anche aggiornato a una nuova tecnologia più veloce nota come parser PEG. Questo effetto non si rifletterà in questa versione ma nell'imminente Python 3.10. Dal giorno in cui è stato creato Python, utilizza il parser LL(1) che analizza il codice dall'alto verso il basso e da sinistra a destra. Questo parser si basa su una grammatica senza contesto e quindi è ambiguo nel senso che le stringhe possono avere più di un albero di analisi e aumentare il numero di passaggi intermedi. Il nuovo parser PEG genera un solo AST (Abstract Syntax Trees) valido rimuovendo l'ambiguità del parser precedente.
Nuova funzione casuale e modifica nel ciclo di rilascio
Nel modulo random.random è stato aggiunto il nuovo metodo randbytes(n) che restituisce n byte casuali. È molto simile ad altre funzioni casuali. Anche in precedenza, Python rilascia una nuova versione ogni 18 mesi che è stata ridotta a 12 mesi.
Ottieni la certificazione di data science dalle migliori università del mondo. Impara i programmi Executive PG, Advanced Certificate Program o Master per accelerare la tua carriera.
Conclusione
Ogni volta che viene rilasciata una nuova versione del software, vengono apportate molte nuove modifiche. Qui abbiamo discusso alcune delle modifiche principali ed evidenziate in Python che includono un nuovo operatore, funzionalità aggiunte e un parser migliorato.
Ci sono molte nuove modifiche anche in altri moduli come ast, asyncio, concurrent.futures, multiprocessing, XML. Alcune funzioni sono state deprezzate e l'elenco continua. Puoi controllare la documentazione ufficiale per un elenco completo degli aggiornamenti nel nuovo Python 3.9.
Se sei curioso di conoscere Python, la scienza dei dati, dai un'occhiata al Diploma PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 contro 1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
Perché Python è preferito ad altri linguaggi di programmazione?
Ci sono numerosi motivi per cui Python è preferito rispetto ad altri linguaggi. In primo luogo, i codici di Python sono leggibili e compresi anche dagli sviluppatori che non li hanno mai scritti prima. Python è comune nella comunità scientifica e numerosi ricercatori e professori sono tra gli utenti di Python. I codici realizzati su Python possono essere condivisi, copiati e modificati dagli sviluppatori. Inoltre, Python ha una forte comunità e si sta evolvendo rapidamente poiché è un linguaggio di programmazione gratuito e aperto. Python è compatibile con un'ampia gamma di sistemi. Aiuta gli sviluppatori in quanto non devono affrontare difficoltà che sono prevalenti in altre lingue.
Qual è l'uso di math.nextafter() e math.ulp() in Python?
Nextafter() e ulp() sono due nuove funzioni aggiunte alla libreria matematica in Python 3.9.0. La funzione nextafter() restituisce il valore float successivo dopo x nella direzione di y. Se x è uguale a y, viene restituito il valore y. La sua sintassi è math.nextafter(x, y), dove xey sono due valori interi/virgola mobile. ULP è un'abbreviazione che significa Unit in the Last Place. L'ULP è lo spazio tra i valori in virgola mobile nell'analisi numerica e nell'informatica. La funzione math.ulp() restituisce il valore del bit meno significativo di float x. La sua sintassi è matematica ulp(x) e l'argomento da inserire, x, deve essere un float, il cui ulp deve essere restituito.
Cos'è Parser in Python?
Durante la fase di analisi della sintassi, un compilatore esamina se i token creati dall'analizzatore lessicale sono organizzati o meno secondo le regole sintattiche del linguaggio. Un parser è responsabile di questo. Il parser ottiene una stringa di token dall'analizzatore lessicale e verifica che la stringa corrisponda alla grammatica della lingua di origine. Eventuali problemi di sintassi vengono rilevati e segnalati e viene prodotto un albero di analisi da cui gli sviluppatori possono generare codice intermedio. Inoltre, il modulo parser comunica con il parser interno di Python e il compilatore byte-code. Lo scopo principale di questa interfaccia è consentire ai codici Python di alterare gli alberi di analisi di un'espressione Python e di generare codici funzionanti da essa.