Python, la lingua con cui puoi fare tutto

Breve storia

Sebbene il nome ci ricordi un pitone, il nome di questa lingua non è dato da questo rettile, ma dal nome del gruppo umoristico Monty Python di cui il creatore è fan. Pitone è un programmazione è nato alla fine degli anni '80 da Van Rossum e sviluppato per il sistema operativo Amoeba. Nel 1991 è stata pubblicata la versione in codice 0.9.0, che comprendeva già classi con l'utilizzo di eccezioni, capaci di ereditare funzioni e di includere alcuni tipi modulari come list, dict e str.

Nel 1994 questa lingua inclusa nella sua versione 1.0 Caratteristiche come alcune funzioni di programmazione funzionale: riduci, filtra, lamda e mappa. Per Pitone versione 2.0, gli elenchi di compressione sono stati inclusi in base alla sintassi di Haskell. Anche con questa versione è stato incluso un sistema di garbage collection.

Inoltre, l'unificazione di tipi e classi all'interno della stessa gerarchia è stata la più grande innovazione nella versione 2.2, che ha reso il modello a oggetti robusto e puro. Ispirati al linguaggio Icon, sono stati aggiunti anche i generatori.

A partire dal 1 ° gennaio 2020, Python 2 (2.7. *) È stato ufficialmente interrotto, supportando solo le versioni> = 3.5.

Caratteristiche 

Questo linguaggio è interpretato, il che lo fa offrire portabilità tra i sistemi, anche se in situazioni specifiche il sistema operativo deve essere preso in considerazione (in molti di questi casi in Windows).

Per quanto riguarda la sua programmazione paradigma, Python è un file multiparadigma linguaggio. Gli sviluppatori non sono obbligati a utilizzare uno stile specifico nella loro programmazione. Attualmente ha come paradigma stili: programmazione imperativa, funzionale e orientata agli oggetti. Con l'uso di estensioni, possono essere supportati altri paradigmi. Per la gestione della memoria vengono utilizzati la digitazione dinamica e il conteggio dei riferimenti.

Un'altra caratteristica importante è il collegamento dinamico dei metodi. Questa funzionalità collega un metodo e un nome di variabile durante l'esecuzione dello script.

In termini di sintassi, Pitone è stato progettato per avere una leggibilità facile e chiara, ecco perché le parole vengono utilizzate al posto degli operatori (|, &,! -> o, e, non) e vengono utilizzati i rientri al posto di "{}". Usando il schede, il codice è strutturato e livellato secondo le istruzioni. Ad esempio, la funzione di fibonacci sarebbe

def fib (n): a, b = 0,1 mentre a <n: print (a, end = '') a, b = b, a + b print () fib (1000) print () fib (1000)

A causa del indentazione, ogni sequenza deve essere scritta in una sola riga, ma se per problemi di leggibilità si vuole dividere la sequenza in più righe è possibile aggiungere una "\" alla fine di ogni riga per indicare che prosegue nella successiva.

capitales = ["New York", "Londra", "Bogotá", "Pekín", \ "Tokio", "Parigi", "Madrid", "Lisboa" \ "Antananarivo", "Moscú"] "print (f" Alcune capitali: {capitales} ") fuori: Alcune capitali: [" New York "," Londres "," Bogotá "," Pekín "," Tokio "," París "," Madrid "," Lisboa "," Antananarivo " , "Moscú"]
duch_alba_name = "María del Rosario Cayetana Paloma Alfonsa" \ "Victoria Eugenia Fernanda Teresa Francisca de Paula Lourdes" \ "Antonia Josefa Fausta Rita Castor Dorotea Santa Esperanza" \ "Fitz-James Stuart y de Silva Falcó y Gurtubay" print (f "Duchessa of Alba's name: {duch_alba_name} ") out: Duchess of Alba's name: María del Rosario Cayetana Paloma Alfonsa Victoria Eugenia Fernanda Teresa Francisca de Paula Lourdes Antonia Josefa Fausta Rita Castor Dorotea Santa Esperanza Fitz-James Stuart y de Silva Falcó y Gurtubay

Filosofia

Per entrare in empatia con sviluppatori e creare linee guida per la creazione codice corretto secondo Pitone, nella versione 2.1.2 è stata aggiunta una classe di Easter egg durante l'importazione del pacchetto "this".

importa questo

Quando esegui la riga sopra dall'interprete, il famoso Python Zen è stampato sulla console, le cui regole, introdotte da Tim peters, sono le seguenti:

  1. Bello è meglio che brutto.
  2. Esplicito è meglio che implicito.
  3. Semplice è meglio che complesso.
  4. Complesso è meglio che complicato.
  5. Flat è meglio che annidato.
  6. Sparse è meglio di dense.
  7. La leggibilità conta.
  8. I casi speciali non sono abbastanza speciali da infrangere le regole.
  9. Anche se la praticità batte la purezza.
  10. Gli errori non dovrebbero mai passare in silenzio.
  11. A meno che non sia esplicitamente messo a tacere.
  12. Di fronte all'ambiguità, rifiuta la tentazione di indovinare.
  13. Dovrebbe esserci un modo ovvio, e preferibilmente solo uno, per farlo.
  14. Anche se in questo modo potrebbe non essere ovvio all'inizio, a meno che tu non sia olandese.
  15. Adesso è meglio che mai.
  16. Anche se spesso non è mai meglio di * adesso *.
  17. Se l'implementazione è difficile da spiegare, è una cattiva idea.
  18. Se l'implementazione è facile da spiegare, potrebbe essere una buona idea.
  19. Gli spazi dei nomi sono una grande idea clamorosa: facciamo di più di quelli!

Con queste regole si intende che il programmatore crei un codice semplice, efficiente, leggibile e di facile debug seguendo il filosofia python.

In crescita

Negli ultimi anni, la crescita di Pitone use l'ha posizionata al numero 2 della classifica del lingue più utilizzate a livello globale secondo Github (grafico estratto dall'analisi di github octoverso). E nella tabella seguente (github) possiamo vedere l'attività dei repository GitHub di Python. Attualmente è 17% di tutte le modifiche a GitHub.

Python, the language with which you can do everything 1 - python ranking
Python, the language with which you can do everything 2 - Captura de pantalla 2020 02 29 a las 2.00.33

Questa crescita nel suo utilizzo è dovuta alla grande efficienza e scalabilità offerta dal codice, quindi viene utilizzato in più discipline. Le applicazioni che utilizzano questo linguaggio sono diverse, ma ora spiegheremo quelle più utilizzate.

Python per Data Science e Big Data

L'estrazione e l'analisi dei dati in Python è un'operazione semplice e veloce. Ecco perché viene utilizzato nell'analisi dei dati di grandi aziende per migliorare le loro prestazioni dai dati raccolti e per prevedere i risultati. La facile manipolazione delle operazioni con equazioni e matrici rende Python un sostituto perfetto per linguaggi come Matlab o Scilab. Per dare un'interfaccia più "amichevole" a chi è abituato a linguaggi statistici come R, Python utilizza il framework Anaconda che viene spesso utilizzato insieme a Spider e Jupyter Notebook con cui i matematici si sentono più a loro agio.

Alcune delle librerie più utilizzate per i big data: Pyspark, Dask e Pydoop.

Le librerie più utilizzate per l'analisi e l'elaborazione dei dati: Numpy, Pandas, Plotly, Matplot e Seaborn.

Python per il Web (front-end)

Sebbene il re del web sia php insieme ad ambienti come laravel, il linguaggio di Python consente di scrivere applicazioni di tutti i tipi con meno righe di codice. Per quanto riguarda i migliori framework per lo sviluppo del Front-End troviamo:

Django. È il più completo framework web scritto in Python. Fornisce uno sviluppo veloce e pulito nella creazione di pagine web. Queste pagine possono utilizzare i sistemi di gestione dei contenuti CMS per la programmazione modulare di siti web, che facilita la creazione di siti Web robusti e modellati a blocchi. Alcuni svantaggi di Django sono che sebbene i siti web sviluppati siano più avanzati rispetto ad altri framework web, è un framework piuttosto lento rispetto agli altri.

Piramide. Ciò è dovuto alla fusione dei framework Pylons 1.0 e repoze.bfg. Questo pacchetto di sviluppo web è classificato in base a un avvio rapido, uno sviluppo facile per API lavoro e la possibilità di includere manager come CMS e KMS

Bottiglia. Ampiamente usato per lo sviluppo di loT applicazioni. Sviluppa pagine abbastanza semplici, ma è un gestore molto flessibile quando incorpora nuove librerie.

Borraccia. Il più agile dei framework più utilizzati per lo sviluppo web. È nato come uno scherzo per il giorno degli innocenti, ma è cresciuto fino a posizionarsi in modo tale da poter essere utilizzato in servizi come Amazon (Lamda) e Google nel suo Cloud RUN. Flask di per sé è molto semplice, ma puoi aggiungere moduli come Jinja2 e SQLAlchemy per completarlo. Esistono tutti i tipi di pacchetti sviluppati per creare siti Web sicuri, robusti e facili.

Python per lo scripting

Pitone è un linguaggio che consente la creazione e l'esecuzione di script con poche righe di codice. Tra l'uso di scripting in questo linguaggio, possiamo evidenziare lo scraping (ottenere dati da siti web) e l'automazione delle attività per la manutenzione del server, l'editing di immagini e suoni… Cioè, con python puoi facilmente programmare qualsiasi attività sul tuo server.

Quando i processi automatizzati vengono combinati per l'estrazione del contenuto del sito web, il termine "bot" si usa. Un bot può essere programmato per svolgere un determinato compito (può fingere di essere una persona) ogni determinato momento o in un momento programmato.

La maggior parte degli utenti di librerie per rottamazione sono Beautiful Soup, Scrapy, Selenio ed Elio. Gli ultimi due consentono il controllo dei browser Chrome e Firefox in modo da simulare l'interazione di un utente reale. Con questa tecnica è possibile scaricare informazioni web come testo, immagini o suoni.

Python per l'intelligenza artificiale

Il Python IA la comunità è la più grande esistente rispetto ad altri ambienti. Esistono molte librerie sviluppate per apprendimento profondo e l'approccio di rete neurale, quindi è attualmente il linguaggio più utilizzato in Machine Learnig pratiche. Vengono utilizzate librerie come PyTorch (sviluppato da Facebook), TensorFlow (sviluppato da Google) e Keras.

Reti neurali vengono creati per lo svolgimento di compiti evitando che sia un processo programmato come un copione e se è qualcosa di più simile all'operazione di apprendimento degli umani.
Ad esempio, con OpenCV , puoi rilevare oggetti, volti, persone, animali e tutti i tipi di oggetti facendo in modo che la rete stessa impari a distinguere oggetti specifici nelle immagini. Inoltre, con questo ambiente è possibile sviluppare un'intelligenza artificiale in grado di descrivere il contesto delle immagini Vision AIO.

Alcune delle aziende più influenti in questo settore sono Open AI, Google e Facebook.

Python per backend, webhook e API Rest

Qualsiasi framework utilizzato per il Web può essere utilizzato per backend, Webhook e API Rest poiché Python viene eseguito sul server. Ma in questo caso nomineremo altri Framework utilizzati. Va spiegato che in un servizio Rest API (es: ottenere dati da db) la richiesta dell'utente deve essere processata e restituita nel minor tempo possibile, mentre nel Webhook (es: caricare un'immagine per estrarre testo) la risposta può richiedere tempo per arrivare poiché l'immagine deve essere elaborata. Con i seguenti framework è possibile creare il backend di qualsiasi applicazione web o mobile come un'API rest per un file Applicazione svolazzante.

Japronto. Questo framework è stato sviluppato per essere il più veloce servizio e quello che può elaborare più richieste in meno tempo. Con punteggi di riferimento in grado di elaborare e rispondere a più di 1 milione di richieste al secondo, Japronto diventa il framework Python più veloce essendo più veloce di Go e NodeJS. È scritto utilizzando l'API C. Attualmente è in stato Alpha e il suo stesso creatore consiglia di utilizzare Sanic.

Falco. Dopo Japronto, Falcon è il framework API più veloce disponibile. È veloce, minimalista e perfetto per attività di backend, microservizi e API. Questo progetto è ancora in fase di sviluppo e dispone di librerie molto interessanti che consentono di creare connessioni sicure tra client-server. Ha la capacità di incorporare asincronicità attraverso altre biblioteche. Con l'implementazione di PyPy è in grado di elaborare più di 300K req / sec

Sanic. Sanic è un server web framework di sviluppo famoso per essere asincrono. È costantemente aggiornato e ha versioni stabili. Può elaborare più di 36K req / sec

Velocità del codice

Python non è molto veloce nella sua esecuzione, il che fa brutti confronti con altri linguaggi come Go (Golang). Per fare un confronto equo, dovresti confrontarlo con altri sistemi anch'essi interpretati. Nel caso di Go è compilato, il che gli conferisce molto vantaggio nel tempo di esecuzione. Per evitare problemi di velocità, altri tipi di artisti come Cython e PyPy sono stati sviluppati che gli conferiscono un'ammirevole velocità di esecuzione. Inoltre, ci sono librerie che aiutano a ristrutturare il codice in modo che possa essere interpretato più rapidamente.

Conclusione

In conclusione, possiamo vedere che la struttura del codice Python consente a questo linguaggio di offrire l'esecuzione di quasi tutte le attività in poche righe di codice. Questo linguaggio dimostra di essere un tuttofare nel settore, essendo in grado di fare di tutto, dai bot che scaricano dati da altri siti a reti neurali complesse che rilevano i tumori al seno nei raggi X.

Lascia un commento

Voglio costruire un