Contribute Media
A thank you to everyone who makes this possible: Read More

Modern Python: Alla scoperta delle ultime novità di (C)Python

Description

Modern Python: Alla scoperta delle ultime novità di (C)Python - PyCon Italia 2022

Vi siete mai chiesti se ci fosse un modo migliore di scrivere il vostro codice? Una qualche feature di Python oscura di cui eravate all’oscuro? Sì? Ebbene, insieme demistificheremo alcune delle ultime feature più interessanti e più sottovalutate del vecchio serpentone: sarà uno spasso, promesso! Modern Python: Alla scoperta delle ultime novità di (C)Python

Pubblico Consigliato

Questa presentazione è diretta a sviluppatori Python con almeno qualche anno di esperienza sulle spalle e che siano interessati a rendere il proprio codice più leggibile, idiomatico e magari anche più veloce.

Introduzione Vi siete mai trovati a dover scrivere codice simile a questo:

some_var = some_function()
if some_var:
    ...    Code Here

e aver pensato: ”Cavolo, quell’assegnamento sembra proprio di troppo!”? Se la risposta è sì, allora questa presentazione fa per voi! Vi mostrerò come migliorare l’estetica, e magari anche la performance, del vostro codice, mantenendo la medesima funzionalità. Imparerete concetti avanzati quali i generatori asincroni, introdotti nel lontano Python 3.6, il mitico operatore “tricheco”, la nuova e scintillante istruzione match, per un efficiente ed elegante pattern matching, ed altro ancora: Sarà una figata, promesso!

Abstract

Immagino già che qualcuno di voi si stia chiedendo, ”Ma, Matt, Python 3.6? É vecchissimo! Perchè sei venuto a parlarci di una feature introdotta nel 2016?”: Okay, diciamo che ho mentito (giusto un pochino).

Non tutte le funzionalità di cui parlerò in questa presentazione sono esattamente nuove di zecca, ma ho sempre avuto la sensazione che alcune— specialmente i generatori asincroni— non abbiano mai ricevuto l’attenzione che meritavano e che siano andate piuttosto in sordina: ciò è stato probabilmente dovuto dal rilascio di Python 3.5 (che per rinfrescarvi la memoria ha finalmente standardizzato la programmazione asincrona, introducendo il concetto di coroutine e vari altri nuovi oggetti), e con questa presentazione vorrei rendere loro giustizia e al tempo stesso far notare alcune delle (spesso ben nascoste!) trappole in cui si può cadere facendone uso. Giusto per dare un’assaggio degli argomenti che voglio trattare, ecco cosa spero impariate dalla presentazione: - Migliorare le performance del vostro codice, parallelizzando le operazioni di I/O basata su file, utilizzando un solo thread grazie all’aiuto dei generatori asincroni - Risparmiare prezioso spazio e tempo sostituendo typing.Union[A, B, C] con il suo (magnificamente idiomatico) equivalente A | B | C - Imparare la maniera ”Pythonica” di effettuare pattern matching grazie all’uso della nuova istruzione match introdotta in Python 3.10. Potete dire finalmente addio a codice del tipo python  cases = {1: "one", 2: "two", 3: "three"}  one_two_three = cases.get(some_var, default_value) - Altro ancora! Ma vi toccherà venire alla presentazione per scoprirlo :)

Speaker: Mattia Giambirtone

Details

Improve this page