Pillola Teorica: scopriamo insieme cosa è il linguaggio Python e come funziona #axts #devdiary #python #pillole
NEWSLETTER? NO, GRAZIE!
Unisciti al mio canale Telegram! Onnipresente. Silenzioso. Non ingombrante.
> AxelTheSaint <
Python
Nasce nel 1991 come linguaggio di programmazione di alto livello orientato a oggettiLa programmazione ad oggetti, chiamata anche Object Oriented Programming (OOP), è un paradigma di programmazione che pe... Leggi. Versatile, potente e molto fornito è ideale per gli attuali sviluppi della tecnologia. Ad oggi è il linguaggio più diffuso a livello globale. Molte piattaforme conosciute lo usano come motore del loro funzionamento e delle interfacce (come ad esempio: Facebook, Twitter, Pinterest, Reddit, Google, Netflix, Spotify, Dropbox, Uber e così via), senza considerare gli sviluppi di intelligenza artificiale, machine learning e automazione.
Per cosa viene usato
Il linguaggio di cui stiamo parlando è adatto a:
- sviluppare applicazioni distribuiteIn informatica si chiamano applicazioni distribuite quelle la cui esecuzione è distribuita tra più computer. Parti del... Leggi
- scripting
- computazione numerica
- system testing
- machine learning
- intelligenza artificiale
- applicazioni mobile
Quali sono le caratteristiche principali
Python è un linguaggio multi paradigma (approfondisci paradigma di programmazioneIn informatica, un paradigma di programmazione è uno stile fondamentale di programmazione. Un insieme di strumenti conc... Leggi) che ha 3 cardini principali:
- dinamicità
- semplicità
- flessibilità
Supporta paradigmi come:
- Object OrientedLa programmazione ad oggetti, chiamata anche Object Oriented Programming (OOP), è un paradigma di programmazione che pe... Leggi
- Programmazione Strutturata
- Programmazione funzionale e riflessione
Alcune delle caratteristiche più distintive sono:
- variabili non tipizzate: possono essere usate variabili senza specificarne il tipo;
- uso dell’indentazione per la sintassi delle specifiche, al posto delle parentesi come in altri linguaggi;
- overloading di operatori e funzioni tramite delegati: è possibile definire, o ridefinire, il comportamento di un operatore durante l’interazione con un oggetto;
- presenza di un ricco assortimento di tipi e funzioni di base e librerie standard;
- sintassi avanzate quali slicing e list comprehension.
Python: approfondimento tecnico
Viene considerato un linguaggio interpretato, in realtà il codice sorgente non viene convertito direttamente in linguaggio macchina. Infatti prima passa da una fase di “pre-compilazione” in bytecode. Il risultato in bytecode viene quasi sempre riutilizzato dopo la prima esecuzione del programma, evitando così di reinterpretare ogni volta il codice sorgente e migliorando le prestazoni.
E’ possibile distribuire programmi in Python direttamente in bytecode, saltando totalmente la fase di interpretazione da parte dell’utilizzatore finale, ottenendo così programmi Python a sorgente chiuso.
Nello stesso modo di Lisp, ma a differenza invece di Perl, l’interprete Python supporta anche un modo d’uso interattivo denominato REPL. Attraverso questo sistema è possibile inserire il codice direttamente da un terminale, visualizzando immediatamente il risultato.
Inoltre l’interprete Python è contenuto all’interno della libreria standard, perciò, come in molti altri linguaggi interpretati, è possibile far valutare stringhe nel contesto corrente.
Pro e Contro
Se paragonato ad altri linguaggi compilati e soprattutto “tipati”, la velocità di esecuzione (specialmente nel calcolo matematico) non è uno dei punti di forza di Python.
Il multi-threading è presente solo a livello astratto in quanto si basa unicamente su un core.
Tuttavia Python riesce ad aggirare facilmente l’ostacolo: è relativamente semplice scrivere un’estensione in C o in C++ per poi utilizzarla all’interno di Python. In questo modo si riesce a coniugare l’elevata velocità di un linguaggio compilato solo nelle parti in cui effettivamente serve, ed allo stesso tempo si sfrutta la potenza e versatilità per tutto il resto del software
Un aspetto molto importante è che questo linguaggio è caratterizzato da una significativa astrazioneNella programma a oggetti, la proprietà dell'astrazione consente di semplificare un problema che ad un primo approccio ... Leggi rispetto ai dettagli di funzionamento di una calcolatore, e delle sue caratteristiche di linguaggio macchina. Pertanto non si è soggetti a dover valutare ogni singolo funzionamento hardware per sviluppare il proprio progetto.
Ulteriore aspetto positivo risiede nel vastissimo parco di librerie a disposizione, che sempre in ottica di metodologia “DRY” (Don’t Repeat Yourself), permette di comporre a blocchi numerose funzioni di base, altrimenti onerose da sviluppare.
Risorse
Per approfondire l’argomento e trovare la documentazione ufficiale, puoi andare qui: Python
Per una guida su come installare Python su Windows, ho preparato un articolo dedicato qui: Come installare Python su Windows