Articolo originale: https://www.freecodecamp.org/news/what-is-python-used-for-10-coding-uses-for-the-python-programming-language/

Prenditi un momento per pensare a questa domanda:

Per cosa viene utilizzato Python nel vita reale?

Se stai imparando Python e vuoi conoscere la risposta, questo articolo fa al caso tuo.

Avere in mente un'idea chiara delle applicazioni e del grande potenziale di questo linguaggio di programmazione ti darà la motivazione di cui hai bisogno durante questo viaggio.

Iniziamo! ✨

🔸 Le applicazioni di Python

Python viene utilizzato praticamente in ogni campo industriale e scientifico che puoi immaginare, tra cui:

  • Data science.
  • Machine learning.
  • Sviluppo web.
  • Insegnamento dell'informatica.
  • Visione artificiale ed elaborazione di immagini.
  • Sviluppo di giochi.
  • Medicina e Farmacologia.
  • Biologia e Bioinformatica.
  • Neuroscienza e Psicologia.
  • Astronomia.
  • Altri settori come robotica, veicoli autonomi, business, meteorologia e sviluppo di interfacce grafiche (GUI).

Questo articolo tratta un'ampia gamma di applicazioni di questo linguaggio di programmazione nei settori menzionati con esempi, casi di utilizzo pratico e librerie Python. Partiamo subito con le applicazioni in data science.

🔹 Data science: analisi e visualizzazione

image-3
Esempi di visualizzazione di dati dalla gallerie di Matplotlib e Seaborn

Probabilmente una delle applicazioni più popolari di Python riguarda proprio la scienza dei dati. Le potenzialità delle librerie di Python sviluppate per l'analisi e la visualizzazione dei dati è incredibile. Vediamo perché.

Applicazioni in data science

Con una libreria Python per la visualizzazione di dati, puoi creare un'ampia varietà di grafici e rappresentazioni visive, come:

  • Grafici a dispersione, linee e barre.
  • Immagini, grafici a superficie                          
  • Statistiche (diagrammi a scatola, ortogrammi e istogrammi).
  • Diagrammi a torta e diagrammi polari.
  • Grafici 3D.
  • e molto altro!

Puoi aggiungere testo, etichette, annotazioni, colori, forme, collezioni, animazioni e rendere i tuoi grafici interattivi a seconda del pacchetto e della libreria con cui scegli di lavorare.

💡 Tip: puoi vedere alcuni esempi di visualizzazione di dati generati con Python nella figura in alto.

Librerie e pacchetti

Vediamo alcuni dei pacchetti e delle librerie più popolari per lavorare con Python in questo campo:

Python per l'analisi di dati

  • NumPy: questo pacchetto è descritto come "il pacchetto fondamentale per il calcolo scientifico con Python". Secondo il sito ufficiale di questo pacchetto, "quasi ogni scienziato che lavora con Python si avvale di NumPy."
  • Pandas: è "uno strumento open source di analisi e manipolazione dei dati veloce, potente, flessibile e semplice da utilizzare."

Python per la visualizzazione dei dati

  • Matplotlib: è "una libreria completa per creare visualizzazioni statiche, animate e interattive con Python". Se vuoi scoprire quello che puoi fare con questa libreria, dai un'occhiata alla galleria di esempio.
  • Seaborn: è "una libreria per la visualizzazione dei dati in Python basata su matplotlib." Se sei curioso di sapere cosa puoi fare con questa libreria, puoi vedere la galleria di esempio.
  • ggplot2: è "un sistema per creare grafici in modo dichiarativo, basato sulla grammatica dei grafici". Secondo il sito ufficiale: "fornisci i dati, comunichi a ggplot2 come mappare le variabili, quali primitive grafiche utilizzare, e lui si occupa dei dettagli".
  • Bokeh: è "una libreria di visualizzazione interattiva per i browser moderni".
  • Pandas: questa libreria ha molti strumenti per la visualizzazione di dati.

Risorse di apprendimento

Se vuoi imparare l'analisi e la visualizzazione di dati usando Python, Jupyter Notebooks, Numpy, Pandas, file CSV, data frame e molto altro, puoi iniziare il tuo viaggio con la certificazione gratuita di freeCodeCamp in Analisi dei dati con Python (disponibile in italiano):

image-2
La certificazione Analisi dei dati con Python del curriculum di freeCodeCamp

Durante il corso, lavorerai per completare questi progetti:

  • Calcolatore della varianza, media e deviazione standard.
  • Analizzatore di dati demografici.
  • Analizzatore di dati medici.
  • Visualizzatore della pagine delle serie temporali.
  • Previsore del livello del mare.

🔸 Machine Learning

image-1

Python è uno strumento essenziale per qualsiasi sviluppatore che vuole entrare nell'affascinante mondo del Machine Learning.

Cos'è il Machine Learning?

Il Machine Learning è un settore dell'informatica che crea sistemi in grado di apprendere autonomamente.

Questo tipo di sistema utilizza algoritmi, che vengono continuamente migliorati in base ai dati di input, che aiutano il sistema ad "apprendere". Dunque, il sistema impara a rispondere autonomamente a nuove situazioni generando un output appropriato in scenari nuovi sulla base delle conoscenze pregresse.

Una delle cose più interessanti che riguarda questi sistemi è che vengono continuamenti perfezionati.

Non sono come i programmi che scriviamo tipicamente in uno script Python in cui specifichiamo ogni possibile azione che il programma può intraprendere. In Machine Learning, il sistema è addestrato a "pensare" e prendere decisioni a seconda delle conoscenze che possiede.

Ed è per questo che diciamo che le macchine "imparano" dai dati.

Reti neurali: i mattoni del Machine Learning

Le reti neurali sono sono le unità di elaborazione del sistema. Provano a simulare una rete reale di neuroni nel cervello. Questi "neuroni" virtuali ricevono un input, imparano a elaborarlo e a generare un output sulla base delle loro conoscenze pregresse.

Questo è molto simile a ciò che fa il nostro cervello in ogni singolo istante, tutti i giorni.

Grazie alle reti neurali, un algoritmo di machine learning può imparare come predire un output atteso da un input in base all'esperienza.

Ad esempio, quando vedi dei video consigliati su YouTube, le raccomandazioni sono state generate da reti neurali che prevedono quali video potresti gradire in base ai tuoi schemi passati. Incredibile, vero?

Python e Machine Learning

Sono sicuro che ti stai chiedendo: qual è il ruolo di Python in questo settore? È uno degli strumenti più popolari e potenti per programmare questo tipo di sistemi.

Una delle librerie più popolari usate dagli sviluppatori nel mondo per lavorare con Python nel campo del Machine Learning è TensorFlow. Si tratta di una libreria gratuita open source sviluppata dal Brain Team di Google che viene usata per scopi di ricerca e produzione da Google.

Secondo Jeff Dean, a capo della divisione Artificial Intelligence di Google:

Oggi viene usata ampiamente nei nostri sistemi di riconoscimento vocale, in un nuovo prodotto di Google Photo, da Gmail e Google Search. (fonte)

E il bello è che gli sviluppatori di tutto il mondo possano usare questa libreria per affrontare i problemi che si trovano a dover risolvere.

Queste sono altre due popolari librerie di Python usate per il Machine Learning:

  • Keras – una libreria open source di reti neurali scritta in Python.
  • PyTorch – una libreria open source di Machine Learning usata per lo sviluppo e la formazione di reti neurali.

Progetti di Machine Learning in Python

Il potenziale del Machine Learning è davvero infinito. Può essere applicato virtualmente a qualsiasi area e contesto a cui puoi pensare. Se le attività richiedono di imparare da degli schemi e predire un output, allora il Machine Learning può certamente aiutare.

Ad esempio, per darti un'idea del tipo di progetti che puoi creare, l'offerta formativa di freeCodeCamp include una certificazione di Machine Learning con Python (disponibile in italiano):

image-40
La certificazione Machine Learning con Python del curriculum di freeCodeCamp

Per ottenere questa certificazione, dovrai completare questi progetti:

  • Carta Sasso Forbici.
  • Classificatore di immagini di gatti e cani.
  • Motore per il suggerimento di libri che usa K-Nearest Neighbors.
  • Calcolatore di costi per la salute con la regressione lineare.
  • Classificatore neurale di messaggi SMS.

Altri esempi di applicazioni pratiche

Puoi trovare più esempi di applicazioni del Machine Learning su Kaggle, una "comunità online data scientist e specialisti del machine learning" di proprietà di Google.

In questa piattaforma, puoi esercitare le tua abilità con Python e il Machine Learning lavorando su progetti e partecipando a sfide.

Per darti un'idea della tipologia dei progetti che puoi affrontare con il Machine Learning, alcune delle sfide passate su Kaggle sono state:

  • Prevedere la diminuzione delle funzioni polmonari.
  • Prevedere la sopravvivenza del Titanic.
  • Costruire strumenti di monitoraggio per una popolazione di uccelli
  • Etichettare monumenti famosi.
  • Prevedere la diffusione del COVID-19.
  • Stimare le unità vendute al dettaglio di articoli Walmart.
  • Identificare video con manipolazioni del viso o sonore.
  • Prevedere i tempi di attesa agli incroci principali di una città.
  • Individuare frodi da transazioni di denaro.
  • Prevedere gli incassi al botteghino di un film.
  • Prevedere l'adozione di un cucciolo.
  • Identificare il rischio quando i guidatori sono distratti, assonnati o in altri stati cognitivi pericolosi.

Come puoi vedere, soltanto in questa breve lista di progetti, le applicazioni vanno dalla medicina al commercio, dalla biologia alla rilevazione del rischio, dall'individuazione di truffe all'elaborazione di immagini. Le possibilità sono davvero infinite quando ti approcci ai problemi reali usando il Machine Learning.

🔹 Sviluppo web

image-41

Python è utilizzato nel campo dello sviluppo web per la parte back-end delle applicazioni web. Iniziamo questa sezione parlando un po' di cos'è il back-end e di come ci aiuta a creare applicazioni web.

Python per lo sviluppo web back-end

In un'applicazione web, tutto il codice usato per interagire con un utente e creare ciò che l'utente vede è la parte front-end dell'applicazione.

Python è usato per programmare le funzionalità dell'applicazione che si trovano "dietro le quinte", la parte che alimenta tutta l'app ma che non vediamo direttamente sullo schermo.

Gestisce il lato server dell'applicazione, interagendo con tutti i database necessari quando l'utente richiede dei dati, e restituisce i dati richiesti all'utente facendo sì che l'applicazione funzioni come atteso.

💡 Tip: lo sviluppo web Full-Stack comprende sia il front-end che il back-end di un'applicazione web affinché sia presentabile all'utente lavorando con dei database.

Framework per applicazioni web

Ecco alcuni framework Python popolari per applicazioni web:

  • Django: è "un framework Python di alto livello che favorisce uno sviluppo rapido e un design pulito e pragmatico."
  • Flask: è un microframework molto popolare usato per sviluppare applicazioni web con Python.
  • Pyramid: è "un web framework Python veloce e concreto."
  • Web2Py: è "un framework gratuito, open source e full-stack per un rapido sviluppo di applicazioni web veloci, scalabili, sicure e basate su database portabili."
  • Bottle: è "un micro-framework WSGI web per Python veloce e semplice."

🔸 Insegnamento dell'informatica

image-4

Attualmente, Python gioca un ruolo chiave per l'insegnamento dell'informatica nel mondo. Vediamo perché.

Perché Python?

Python è ampiamente usato come strumento di insegnamento perché:

  • È facile da imparare: la sua sintassi è semplice e può essere imparata rapidamente. Gli studenti iniziano a confrontarsi più rapidamente con aspetti dell'informatica più avanzati rispetto ad altri linguaggi di programmazione.
  • Ha grandi potenzialità: viene usato in applicazioni pratiche, quindi gli studenti iniziano ad acquisire subito delle abilità preziose per le loro carriere.
  • È versatile: supporta vari paradigmi di programmazione tra cui la programmazione imperativa, funzionale, procedurale e orientata agli oggetti.

Il creatore del linguaggio Python, Guido van Rossum, ha affermato:

Sono convinto che Python sia molto più semplice per insegnare la programmazione agli studenti invece di insegnare contemporaneamente C, C++ o Java, perché tutti i dettagli di questi linguaggi sono molto più difficili.

La sintassi di Python è semplice e diretta, così gli studenti possono iniziare ad apprendere più rapidamente le abilità di pensiero computazionale e problem-solving che, di solito, sono l'obiettivo principale dei corsi introduttivi di informatica.

Python in classe e in e-learning

Molte università e scuole nel mondo hanno deciso di usare Python per corsi introduttivi di programmazione e informatica.

Ad esempio, il MIT, una delle maggiori università nel campo della tecnologia, usa Python per insegnare le basi dell'informatica e della programmazione (sia in presenza che nelle versioni online dei corsi su edX).

Secondo un articolo di MIT News pubblicato quando la versione online del corso introduttivo all'informatica usando Python ha raggiunto 1.2 milioni di iscrizioni, il corso "è diventato il MOOC più popolare della storia del MIT".

Questo dimostra chiaramente che la popolarità di Python continua a crescere. Nell'articolo, puoi trovare le testimonianze degli studenti che hanno studiato Python e come questa conoscenza ha migliorato le loro vite.

Nell'articolo, la Professoressa Ana Bell, docente del dipartimento EECS del MIT, afferma che:

“Nella sua essenza, la serie 6.00 insegna il pensiero computazionale... Lo fa utilizzando il linguaggio di programmazione Python, ma il corso tratta anche concetti di programmazione che possono essere applicati a qualsiasi altro linguaggio di programmazione."

Questo dimostra chiaramente il potenziale di Python come strumento didattico. Può essere usato per insegnare concetti di alto livello che possono essere applicati ad altri linguaggi di programmazione.

E questo senza il livello di complessità addizionale che la sintassi di altri linguaggi come Java o C può aggiungere al processo di apprendimento.

Negli ultimi anni, i corsi online sono diventati una parte importante delle vite degli studenti di tutte le età e di tutto il mondo. La gamma di corsi online gratuiti e di risorse si è tremendamente ampliata in tempi recenti.

Ad esempio, l'offerta formativa di freeCodeCamp (totalmente disponibile in italiano) include tre certificazioni gratuite con progetti per aiutarti ad accrescere le tua abilità con Python nei settori chiave ad alta richiesta:

  • Calcolo scientifico con Python.
  • Analisi dei dati con Python.
  • Machine Learning con Python.

L'Università di Harvard offre anche questi corsi online che possono essere seguiti gratuitamente:

  • CS50's Introduction to Computer Science.
  • CS50's Web Programming with Python and JavaScript.
  • CS50's Introduction to Artificial Intelligence with Python.

Python è diventato senza dubbio uno strumento chiave che ha migliorato l'insegnamento dell'informatica in tutto il mondo e continuerà a farlo in futuro.

Se stai pensando di usare Python per un corso, o di imparare Python, ti garantisco che ne vale assolutamente la pena.

🔹 Visione artificiale ed elaborazione di immagini

image-45

Python è utilizzato per la visione artificiale e l'elaborazione di immagini, due settori che stanno crescendo rapidamente.

L'obiettivo dell'elaborazione di immagini è di processare un'immagine, trasformarla e restituire una nuova versione dell'originale.

In contrasto, il fine della visione artificiale è più complesso, in quanto mira alla comprensione e l'interpretazione di un'immagine e del suo contenuto da parte di un computer.

Elaborazione di immagini

Iniziamo con l'elaborazione di immagini. Con una libreria di Python, puoi svolgere operazioni come:

  • Ritagliare, girare e ruotare.
  • Manipolare l'esposizione e i colori.
  • Rilevare bordi e linee.
  • Aggiungere filtri e restaurare immagini.

Visione artificiale

Se inizi a fare ricerche su questo argomento, potresti restare sorpreso dalle applicazioni attuali, alcune delle quali sono:

  • Navigazione.
  • Rilevamento di oggetti ed eventi.
  • Riconoscimento facciale.
  • Classificazione di immagini.

Questo campo scientifico è così importante che Google ha sviluppato uno strumento chiamato Cloud Vision, che ha una versione di Python per sviluppatori  per incorporare questa funzionalità nei loro programmi.

Secondo il tutorial "Using the Vision API with Python" su Google Codelabs, l'API Cloud Vision di Google:

Permette agli sviluppatori di integrare facilmente funzionalità nelle proprie applicazioni di rilevamento visivo tra cui classificazione di immagini, riconoscimento facciale e di punti di riferimento, riconoscimento ottico dei caratteri (OCR) e tag di contenuti espliciti.

Questo insieme di strumenti offre funzionalità di rilevamento facciale, di punti di riferimento, di loghi, etichette, testo e molto altro.

💡 Tip: una delle applicazioni più interessanti della visione artificiale è lo sviluppo di software per controllare vetture a guida autonoma. Questi veicoli devono "vedere" dove si stanno dirigendo, dov'è la corsia e quali oggetti (inclusi gli altri veicoli) li circondano. La visione artificiale svolge un ruolo centrale per questa funzione.

Librerie Python

Ecco alcune fantastiche librerie per la visione artificiale e l'elaborazione di immagini:

  • OpenCV: è "una libreria di software open source per la visione artificiale e il machine learning". La sua versione Python si chiama OpenCV-Python.
  • scikit-image: è "un'insieme di algoritmi usati per l'elaborazione di immagini".
  • NumPy: può essere usato per processare i pixel di un'immagine come un array 2D.
  • SciPy: il pacchetto scipy.ndimage "contiene varie funzioni per l'elaborazione multidimensionale di immagini."

🔸 Sviluppo di giochi

image-6

Senza ombra di dubbio, i giochi plasmano le nostre vite, creano ricordi indelebili e continueranno a far parte della nostra società anche in futuro. Python è già qui per dare vita alla tua creatività.

Framework per lo sviluppo di giochi con Python

Secondo la  Documentazione ufficiale di Python, ci sono due framework principali usati per sviluppare giochi:

  • pygame: "il pacchetto originale e ancora molto attivo per lo sviluppo di giochi con Python. Permette a Python di parlare con SDL, una libreria multimediale cross-platform. Dato che ha bisogno di essere compilato per ogni piattaforma e ogni versione di Python, può esserci un lag quando esce una nuova versione di Python."
  • pyglet: è "il nuovo arrivato, basato su OpenGL. Visto che è un puro pacchetto Python, può essere usato anche quando viene rilasciata una nuova versione di Python (eccetto per la transizione da Python 2 a Python 3)."

Puoi anche utilizzare il modulo turtle per creare semplici giochi. Turtle è un modulo integrato di Python installato automaticamente quando installi Python sul tuo computer. Ti aiuta a creare giochi con una grafica e un'interfaccia utente semplici.

🔹 Medicina e Farmacologia

image-9

Python presenta notevoli applicazioni anche in campo medico. Sarai sorpreso da come la combinazione della tecnologia con le conoscenze mediche possa fornire ai pazienti diagnosi accurate e trattamenti efficaci.

Applicazioni

Alcuni esempi dell'uso di Python in medicina e farmacologia sono:

  • Diagnosi cliniche basate sui referti medici e i sintomi dei pazienti.
  • Analisi di dati clinici.
  • Modelli computazionali per velocizzare il processo di sviluppo di nuovi farmaci.

Queste applicazioni di ampio spettro includono migliaia e migliaia di esempi in tutto il mondo. Tra questi, ne ho selezionati alcuni per illustrare il modo in cui Python sta influenzando questo campo.

Una storia farmaceutica di successo: AstraZeneca

Secondo la documentazione ufficiale di Python, una delle principali aziende farmaceutiche nel mondo, AstraZeneca, ha utilizzato Python per migliorare i propri modelli computazionali e renderli "più robusti, adattabili e gestibili".

I ricercatori hanno utilizzato questi modelli per simulare la struttura chimica di molecole e il loro effetto sull'organismo, facilitando l'identificazione di potenziali composti per ottenere nuovi farmaci e velocizzando i test di laboratorio.

Quando Andrew Dalke, un noto sostenitore dell'utilizzo di Python nella chimica e nella biologia computazionale, diventò un membro del team, convinse tutti che Python era ciò di cui avevano bisogno.

Python è stato scelto per questo lavoro perché è uno dei migliori linguaggi disponibili per chi si occupa di scienze fisiche, ovvero per le persone che non hanno un background informatico.

Ha affermato che:

Python è stato progettato per risolvere problemi concreti affrontati da programmatori esperti. Il risultato è un linguaggio che può essere usato per semplici script scritti da un chimico, così come per grandi pacchetti creati da uno sviluppatore di software.

Python è alla base dei modelli computazionali che i laboratori farmaceutici usano per sviluppare nuovi farmaci.

Identificazione dei globuli rossi

Un'altra interessante applicazione medica di Python è legata all'ematologia. Di solito, professionisti specializzati analizzano campioni di sangue contando e identificando le cellule manualmente, ma questo processo può essere migliorato con un po' di automazione.

Dei ricercatori hanno scoperto che Python può essere lo strumento adatto per questo lavoro. Ecco un progetto interessante.

IdentiCyte
L'obiettivo di questo progetto è di identificare e classificare i globuli rossi in base alle immagini ottenute da microscopi ottici. Secondo questo articolo, "la forma dei globuli rossi può aiutare a diagnosticare malattie e disturbi come leucemie, anemia falciforme e malaria.

Il progetto è stato sviluppato dai ricercatori del Bioresource Processing Research Institute, in Australia. Si basa su Python e utilizza dei pacchetti e delle librerie per l'elaborazione di immagini come numpy, scipy, opencv-python, scikit-learn e matplotlib.

Pacchetti Python per la medicina

  • pyGeno: un pacchetto Python open-source sviluppato da Tariq Daouda all'Institute for Research in Immunology and Cancer (IRIC). È pensato per "specifiche applicazioni mediche che riguardano la genomica e la proteomica". Funziona su riferimenti e genomi personalizzati.
  • MedPy: una libreria Python open-source "per l'elaborazione di immagini mediche, che offre funzionalità di base per leggere, scrivere e manipolare grandi immagini di dimensionalità arbitraria."

Esempi di applicazioni mediche pratiche

🔸 Biologia e Bioinformatica

image-7

Python ha delle applicazioni fantastiche anche nel mondo della biologia e della bioinformatica, tra cui l'analisi di sequenze di DNA, la simulazione della dinamica e della genetica di una popolazione e la modellazione di strutture biochimiche.

Biopython

Biopython è un framework Python con "strumenti per la biologia computazionale disponibili gratuitamente". Il suo scopo è di "rispondere alle necessità attuali e future della bioinformatica."

Secondo la sua documentazione, questo framework include funzionalità come l'abilità di:

  • Lavorare con sequenze ed effettuare su di esse operazioni comuni come la trascrizione, traduzione e calcolo della massa.
  • Connettersi a database biologici.
  • Effettuare classificazione di dati usando K-Nearest Neighbors, Naive Bayes, e Macchine a vettori di supporto.
  • Lavorare con alberi filogenetici e la genetica di popolazione.

La documentazione afferma che "l'obiettivo di Biopython è rendere il più semplice possibile l'utilizzo di Python in bioinformatica creando moduli e classi riutilizzabili di alta qualità."

Rosalind: esercitati con Python risolvendo sfide di bioinformatica

image-46

Rosalind è "una piattaforma per l'apprendimento della bioinformatica attraverso la risoluzione di problemi." È "gratuita e aperta al pubblico" (la pagina FAQ indica che è in versione beta).

Python può essere usato per risolvere le sfide sulla piattaforma. Visto che si tratta di un linguaggio molto popolare nella piattaforma, esiste una sezione "Python Village" dove puoi imparare le basi di Python prima di confrontarti con gli algoritmi bioinformatici.

Gli utenti risolvono i problemi eseguendo le soluzioni sul proprio computer, elaborando dati forniti e facendo copia e incolla dell'output per verificare le risposte.

💡 Tip: il nome del progetto commemora Rosalind Franklin, i cui studi di cristallografia a raggi X insieme a Raymond Gosling facilitarono la scoperta di Watson e Crick della struttura a doppia elica del DNA".

Pacchetti e framework

  • ProDy: un pacchetto gratuito e open-source "per l'analisi strutturale dinamica delle proteine" sviluppato dal Bahar Lab all'università di Pittsburgh.
  • PySB: un "framework per la creazione di modelli matematici di sistemi biochimici come programmi Python" sviluppato dai membri del Lopez Lab della Vanderbilt University e del Sorger Lab della Harvard Medical School.
  • The Community Simulator: è un "pacchetto Python disponibile gratuitamente per la simulazione della dinamica di popolazioni microbiche in modo riproducibile, trasparente e scalabile" sviluppato dai ricercatori dell'università di Boston.

🔹 Neuroscienza e Psicologia

image-37

Python ha anche applicazioni in neuroscienza e nella ricerca psicologica sperimentale.

Python in neuroscienza

Secondo l'articolo Python in neuroscience scritto dai ricercatori del Center for Brain Simulation, Scuola politecnica federale di Losanna, Ginevra, Svizzera:

La computazione è diventata essenziale in tutte le scienze, per l'acquisizione e l'analisi dei dati, l'automazione e i test tramite modelli e simulazioni.

Riguardo a Python, hanno affermato che:

Nel 2007 ci apparso chiaro che eravamo all'apice del affermazione di Python nell'ecosistema delle neuroscienze, in particolar modo per la neuroscienza computazionale e il neuroimaging, ma anche per l'analisi di dati elettrofisiologici e in psicofisica.

Come puoi vedere, Python e la computazione si sono diffusi in tutti i settori della scienza.

PsychoPy

PsychoPy è "un pacchetto open-source per eseguire esperimenti con Python" supportato dall'università di Nottingham. Secondo la documentazione ufficiale del pacchetto:

È utilizzato da molti laboratori che si occupano di psicofisica, neuroscienza cognitiva e psicologia sperimentale in tutto il mondo.

Il sito ufficiale del pacchetto afferma che è:

  • Semplice da imparare.
  • Abbastanza preciso per la psicofisica.
  • Flessibile.
  • Online o lab-based a seconda della scelta dell'utente.

🔸 Astronomia

image-38

Python presenta anche applicazioni in astronomia e astrofisica. Vediamo tre dei pacchetti più importanti usati in questo settore scientifico:

Astropy

Il pacchetto Astropy "contiene varie classi e utilità pensati per fornire gli strumenti comunemente usati in astronomia".

Astropy fa parte di un progetto più grande che è "un impegno di comunità per sviluppare un pacchetto comune per l'astronomia con Python e incoraggiare un ecosistema di pacchetti interoperabili per l'astronomia."

Uno dei suoi fini è "migliorare l'utilizzo, l'interoperabilità e la collaborazione tra i pacchetti Python per l'astronomia."

💡 Tip: puoi vedere esempi di progetti realizzati con Astropy nella galleria di esempio.

SunPy

Il pacchetto SunPy è descritto come "l'ambiente sviluppato dalla comunità, gratuito e open source per l'analisi di dati solari con Python." Si basa sulle funzionalità dei pacchetti Python come NumPy, SciPy, Matplotlib e Pandas.

image-1
Immagini dalla galleria di esempio di SunPy

SpacePy

SpacePy è "un pacchetto per Python, rivolto alle scienze dello spazio, che ha lo scopo di semplificare l'analisi dei dati, la modellazione e la visualizzazione."

Secondo la sua documentazione ufficiale:

Il progetto SpacePy mira a promuovere degli standard di ricerca accurati fornendo un ambiente aperto per lo sviluppo di codice.

🔹 Altre applicazioni

Python può anche essere applicato a molti altri campi, tra cui:

  • Robotica: Python può essere usato per programmare robot. Una libreria scritta per questo scopo è pybotics, "uno strumento open-source per la cinematica e la calibrazione di robot".
  • Veicoli a guida autonoma: Python può essere usato per programmare il software che controlla le auto a guida autonoma, che necessitano di visione artificiale per vedere dove si dirigono, dove si trova la corsia e quello che le circonda.
  • Meteorologia: il pacchetto climate-indices "contiene implementazioni Python di vari algoritmi di indici climatici che forniscono un quadro geografico e temporale dell'intensità delle precipitazioni e delle anomalie dei dati di temperatura utili per il monitoraggio e la ricerca sul clima."
  • Business: Python è uno strumento molto potente per analizzare i dati ottenuti dal mercato e prevedere gli andamenti futuri.
  • Sviluppo di interfacce grafiche (GUI): Python può essere usato per creare interfacce grafiche con strumenti come tkinter.

🔸 In conclusione

Ci sono molte applicazioni di Python in tutti i campi che puoi immaginare. Spero che questo articolo ti abbia dato un'idea dell'ampia gamma di utilizzi di questo linguaggio di programmazione nei settori dell'industria che stanno modellando il nostro mondo.

Ricorda che non ha importanza di cosa ti occupi o vorresti occuparti: senza ombra di dubbio, imparare Python ti aprirà molte porte. Ha trasformato e migliorato il mondo e continuerà a farlo per molti anni.

Grazie per aver letto questo articolo!
Spero che ti sia piaciuto e che tu lo abbia trovato utile. ⭐️