Qortora · Search · Indexed page

it.wikipedia.orgFetched 2026-08-15T18:52:14Z

Python - Wikipedia

Python - Wikipedia Vai al contenuto Menu principale Menu principale sposta nella barra laterale nascondi Navigazione Pagina principale Ultime modifiche Una voce a caso Nelle vicinanze Vetrina Aiuto Sportello informazioni Pagine speciali Comunità Portale Comunità Bar Il Wikipedi…

Open original source · Full cached text

Python - Wikipedia Vai al contenuto Menu principale Menu principale sposta nella barra laterale nascondi Navigazione Pagina principale Ultime modifiche Una voce a caso Nelle vicinanze Vetrina Aiuto Sportello informazioni Pagine speciali Comunità Portale Comunità Bar Il Wikipediano Contatti Ricerca Ricerca Aspetto Fai una donazione registrati entra Strumenti personali Fai una donazione registrati entra Indice sposta nella barra laterale nascondi Inizio 1 Descrizione Attiva/disattiva la sottosezione Descrizione 1.1 Altre caratteristiche 1.2 Prestazioni 1.3 Implementazioni 2 Sintassi Attiva/disattiva la sottosezione Sintassi 2.1 Indentazione 2.2 Fattoriale in C 2.3 Fattoriale in Python 3 Tipi di dati e strutture Attiva/disattiva la sottosezione Tipi di dati e strutture 3.1 Tipi numerici 3.2 Contenitori 3.3 Organizzazione a oggetti 4 Programmazione funzionale e sintassi avanzate Attiva/disattiva la sottosezione Programmazione funzionale e sintassi avanzate 4.1 Generator expression 4.2 Decoratori 4.3 Commenti 4.4 Gestione delle eccezioni 4.5 Libreria standard 5 Esempi di programma Attiva/disattiva la sottosezione Esempi di programma 5.1 Hello, world! 5.2 Creazione di un Socket, invio di richieste e ricevere dati 5.3 Formattazione delle stringhe e funzione input 5.4 RGB binario, RGB esadecimale 5.5 Definizione di una classe 5.6 Numeri perfetti fino a n 6 Note 7 Bibliografia 8 Voci correlate 9 Altri progetti 10 Collegamenti esterni Mostra/Nascondi l'indice Python 119 lingue Afrikaans Alemannisch Aragonés العربية অসমীয়া Asturianu Azərbaycanca تۆرکجه Basa Bali Беларуская (тарашкевіца) Беларуская Български भोजपुरी বাংলা Brezhoneg Bosanski Basa Ugi Català Cebuano کوردی Čeština Cymraeg Dansk Deutsch Kadazandusun Ελληνικά English Esperanto Español Eesti Euskara فارسی Suomi Na Vosa Vakaviti Français Galego گیلکی ગુજરાતી Hausa עברית हिन्दी Hrvatski Magyar Հայերեն Interlingua Bahasa Indonesia Ido Íslenska 日本語 La .lojban. ქართული Qaraqalpaqsha Қазақша ភាសាខ្មែរ 한국어 کٲشُر Kurdî Кыргызча Latina Lombard ລາວ Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာဘာသာ Plattdüütsch नेपाली Nederlands Norsk nynorsk Norsk bokmål ߒߞߏ Livvinkarjala ଓଡ଼ିଆ ਪੰਜਾਬੀ Polski Piemontèis پنجابی Português Runa Simi Română Русский Саха тыла ᱥᱟᱱᱛᱟᱲᱤ Scots Srpskohrvatski / српскохрватски တႆး සිංහල Simple English Slovenčina Slovenščina Shqip Српски / srpski Svenska Kiswahili தமிழ் తెలుగు Тоҷикӣ ไทย Tagalog Toki pona Türkçe Татарча / tatarça ئۇيغۇرچە / Uyghurche Українська اردو Oʻzbekcha / ўзбекча Tiếng Việt Walon Winaray 吴语 მარგალური 文言 閩南語 / Bân-lâm-gí 粵語 中文 Modifica collegamenti Voce Discussione italiano Leggi Modifica Modifica wikitesto Cronologia Strumenti Strumenti sposta nella barra laterale nascondi Azioni Leggi Modifica Modifica wikitesto Cronologia Generale Puntano qui Modifiche correlate Link permanente Informazioni pagina Cita questa voce Ottieni URL breve Passa al parser legacy Stampa/esporta Crea un libro Scarica come PDF Versione stampabile In altri progetti Abstract Wikipedia Wikimedia Commons MediaWiki Wikibooks Wikifunctions Wikiversità Elemento Wikidata Aspetto sposta nella barra laterale nascondi Da Wikipedia, l'enciclopedia libera. Disambiguazione – Se stai cercando altri significati, vedi Python (disambigua). Python linguaggio di programmazione Autore Python Software Foundation e Guido van Rossum Data di origine 20 febbraio 1991 Ultima versione 3.14.7 (5 agosto 2026) e 3.15.0rc1 (4 agosto 2026) Utilizzo general-purpose, scripting Paradigmi programmazione funzionale, programmazione orientata agli oggetti, dynamic programming, programmazione imperativa e programmazione multi-paradigma Tipizzazione dinamica Influenzato da ABC Ha influenzato Boo, Cobra, CoffeeScript, D, F#, Go, Groovy, JavaScript, Julia, Ruby, Swift Implementazione di riferimento Sistema operativo Multipiattaforma Licenza Python Software Foundation License Sito web www.python.org/ Modifica dati su Wikidata · Manuale Python è un linguaggio di programmazione ad alto livello, orientato a oggetti, adatto, tra gli altri usi, a sviluppare applicazioni distribuite, scripting, computazione numerica e system testing. Ideato dall'olandese Guido van Rossum all'inizio degli anni novanta, è spesso paragonato a Ruby, Tcl, Perl, JavaScript, Visual Basic o Scheme[1]. Il nome fu scelto per la passione dello stesso inventore verso i Monty Python e per la loro serie televisiva Monty Python's Flying Circus[2]. Spesso è tra i primi linguaggi di programmazione a essere studiati dai neofiti, per la sua somiglianza a uno pseudo-codice, e di frequente viene usato per simulare la creazione di software grazie alla flessibilità di sperimentazione consentita, che permette al programmatore di organizzare le idee durante lo sviluppo, come per esempio il creare un gioco tramite Pygame oppure il back-end di un sito web tramite Flask o Django. Python dispone anche di una sezione grafica, il modulo Python Turtle Graphics, che permette di applicare le righe di codici alla grafica. Descrizione [modifica | modifica wikitesto] È un linguaggio che ha tra i principali obiettivi: dinamicità, semplicità e flessibilità. Python è un linguaggio semplice, che è stato progettato appositamente per essere facilmente comprensibile, la cui sintassi si avvicina estremamente al linguaggio naturale (incorporandone alcuni aspetti). Inoltre la potenza di Python è sicuramente il fatto di essere altamente flessibile, prestandosi ad un ampio spettro di utilizzi grazie alle sue numerose librerie.[non chiaro]. Supporta multipli paradigmi di programmazione, tra cui quello a oggetti e quello funzionale. Le caratteristiche più immediatamente riconoscibili di Python sono le variabili non tipizzate e l'uso dell'indentazione per la sintassi delle specifiche, al posto delle più comuni parentesi. Altre caratteristiche distintive sono l'overloading di operatori e funzioni tramite delegati, la presenza di un ricco assortimento di tipi e funzioni di base e librerie standard, sintassi avanzate quali slicing e list comprehension. Il controllo dei tipi è forte (strong typing) e viene eseguito a run-time (dynamic typing): una variabile è un contenitore a cui viene associata un'etichetta (il nome) che può essere associata a diversi contenitori anche di tipo diverso durante il suo tempo di vita. Fa parte di Python un sistema garbage collector per la liberazione e il recupero automatici della memoria con cui si lavora. Python ha qualche somiglianza con Perl, ma i suoi progettisti hanno scelto una sintassi più essenziale e uniforme con l'obiettivo di migliorare la leggibilità del codice. Analogamente a Perl è classificato spesso come linguaggio di scripting, ma pur essendo utile per scrivere script di sistema, in alternativa per esempio a bash, la grande quantità di librerie disponibili e la facilità con cui il linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse. Altre caratteristiche [modifica | modifica wikitesto] Codice sorgente di un programma scritto in Python Esempio di codice sorgente scritto in Python Sebbene Python venga in genere considerato e presentato come un linguaggio interpretato, in realtà il codice sorgente non viene convertito direttamente in linguaggio macchina, ma passa prima da una fase di pre-compilazione in bytecode, che viene quasi sempre riutilizzato dopo la prima esecuzione del programma, evitando così di dover reinterpretare ogni volta il sorgente e migliorando le prestazioni. Inoltre è possibile distribuire programmi Python direttamente in bytecode, saltando totalmente la fase di interpretazione da parte dell'utilizzatore finale e ottenendo programmi Python a sorgente chiuso[3]. Menù a tendina dal quale si può eseguire il programma cliccando su "Run Module" o con lo shortcut F5 da windows 10 in poi. Come il linguaggio Lisp e a differenza del Perl, l'interprete Python supporta anche un modo d'uso interattivo (REPL) attraverso cui è possibile inserire codice direttamente da un terminale, visualizzando immediatamente il risultato. Esempio di alcuni codici sorgente scritti con l'IDLE di Python 3.8.5 Inoltre l'interprete Python è contenuto nella libreria standard, perciò come in molti altri linguaggi interpretati è possibile far valutare stringhe arbitrarie nel contesto corrente. È possibile passare all'interprete anche un contesto completamente diverso, sotto forma di liste che contengono l'elenco dei simboli definiti. Python dispone anche di un framework per lo unit testing che supporta lo sviluppo di test unitari automatici. Prestazioni [modifica | modifica wikitesto] Se paragonato ai linguaggi compilati statically typed, come ad esempio il C, la velocità di esecuzione non è uno dei punti di forza di Python[4], specie nel calcolo matematico. Inoltre, il programma si basa unicamente su un core, e il multithreading è presente al solo livello astratto. Esisteva un'estensione, Psyco [5], il cui sviluppo è terminato nel 2012, che era una sorta di compilatore JIT, in grado di velocizzare in modo notevole alcuni tipi di codice, specialmente l'implementazione di algoritmi, a scapito dell'aumento di memoria utilizzata. Un progetto attuale e attivamente sviluppato per migliorare le prestazioni del codice Python grazie a un compilatore JIT è PyPy[6]. Python permette di aggirare in modo facile l'ostacolo delle performance pure: è infatti relativamente semplice scrivere un'estensione in C o C++ e poi utilizzarla all'interno di Python, sfruttando così l'elevata velocità di un linguaggio compilato solo nelle parti in cui effettivamente serve e sfruttando invece la potenza e versatilità di Python per tutto il resto del software[7]. Implementazioni [modifica | modifica wikitesto] CPython: è l'implementazione di riferimento del linguaggio Python. Scritto in C e Python, è l'implementazione più usata in assoluto;[8] Jython: implementazione basata su Java;[9] IronPython: implementazione C# pensata per l'integrazione con l'ecosistema .NET;[10] PyS60: implementazione per Symbian OS;[11] PyPy: scritto in Python stesso. Ha tra i principali obiettivi la semplificazione dello sviluppo del linguaggio e la sua ottimizzazione in termini prestazionali[12]; Sintassi [modifica | modifica wikitesto] Python è stato progettato in modo da risultare facilmente leggibile e scrivibile. Visivamente si presenta in modo lineare e pulito, con pochi costrutti sintattici rispetto ad altri linguaggi strutturati come per esempio C, Perl o Pascal. Per esempio, Python ha solo due forme di ciclo: for che itera sugli elementi di una lista o su un iteratore (equivalente al foreach di Perl o PHP) e while, che itera fintanto che l'espressione booleana specificata risulterà vera. In sostanza gli mancano i cicli in stile C come il for, il do...while e come l'until del Pascal, ma tutti questi possono essere espressi con dei semplici equivalenti. Allo stesso modo ha solamente il costrutto if...elif...else per le scelte condizionate e non possiede né switch né goto. Indentazione [modifica | modifica wikitesto] Un aspetto inusuale di Python è il metodo che usa per delimitare i blocchi di programma, che lo rende unico fra i linguaggi più diffusi. Nei linguaggi derivati dall'ALGOL. come Pascal, C e Perl, i blocchi di codice sono indicati con parentesi oppure con parole chiave; per esempio il C e il Perl usano {} mentre il Pascal usa begin e end. In questi linguaggi è solo una pura convenzione…