Documento di Università su Riassunto Python. Il Pdf è un riassunto conciso e schematico del linguaggio di programmazione Python, coprendo introduzione, caratteristiche principali, operazioni I/O, tipi di dato, variabili e programmazione orientata agli oggetti (OOP) per la materia Informatica.
Mostra di più17 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Python è un linguaggio di programmazione di alto livello, interpretato e general-purpose, progettato per essere semplice da apprendere e utilizzare. Creato da Guido van Rossum e rilasciato nel 1991, Python si distingue per una sintassi pulita e leggibile che ne facilita l'adozione sia da parte di principianti, che lo trovano intuitivo, sia di professionisti, che lo apprezzano per la rapidità nello sviluppo e la vasta gamma di applicazioni.
| Caratteristica | Descrizione |
| Sintassi leggibile | Python è progettato per essere intuitivo e simile al linguaggio naturale, con una struttura che privilegia la leggibilità. L'uso obbligatorio dell'indentazione definisce i blocchi di codice, sostituendo parentesi o altri simboli usati in altri linguaggi. Questa caratteristica riduce la confusione e favorisce la scrittura di codice chiaro e comprensibile, anche per chi non è esperto. |
| Interpretato | Python è un linguaggio interpretato, il che significa che il codice viene eseguito riga per riga dall'interprete, senza necessità di una fase di compilazione preliminare. Questa caratteristica consente di testare e modificare il codice in tempo reale, rendendolo ideale per lo sviluppo rapido di prototipi e per attività di scripting. Inoltre, facilita il debugging poiché eventuali errori vengono rilevati al momento dell'esecuzione della linea di codice specifica. |
| Tipizzazione dinamica | Python utilizza un sistema di tipizzazione dinamica, il che significa che non è necessario dichiarare esplicitamente il tipo delle variabili. Il tipo di una variabile viene determinato automaticamente in base al valore assegnato, e può cambiare durante l'esecuzione del programma. Ad esempio, una variabile può iniziare come intero e successivamente essere usata come stringa. Questo approccio aumenta la flessibilità e semplifica lo sviluppo, ma richiede attenzione per evitare errori derivanti dall'utilizzo improprio di tipi variabili. |
| Multi-piattaforma | Python è progettato per essere eseguito su una vasta gamma di sistemi operativi, tra cui Windows, macOS, Linux e molte altre piattaforme. Questa compatibilità consente agli sviluppatori di creare applicazioni portabili che possono funzionare su diversi ambienti senza necessità di modifiche significative al codice. Inoltre, Python offre supporto per containerizzazione (come Docker), facilitando la distribuzione in ambienti complessi. |
| Estensibilità | Python supporta l'integrazione con linguaggi come C e C++, rendendolo altamente flessibile per applicazioni che richiedono prestazioni elevate o l'utilizzo di librerie specifiche scritte in questi linguaggi. Grazie a strumenti come Cython, ctypes e l'interfaccia Python/C API, è possibile estendere Python con moduli personalizzati in C o C++, migliorando significativamente le prestazioni di calcolo o interfacciandosi con sistemi esterni. |
Python consente di sviluppare applicazioni software, automatizzare attività ripetitive e affrontare problemi complessi in modo efficiente. Grazie alla sua sintassi semplice e alle sue potenti librerie, è ideale per creare soluzioni rapide e scalabili in molti contesti, dal web allo sviluppo scientifico.
| Caratteristica | Descrizione |
| Compilato | Traduzione completa in linguaggio macchina (es. C++). |
| Interpretato | Esecuzione riga per riga (es. Python). |
Python consente di creare interazioni dinamiche con l'utente utilizzando input e output. Questi meccanismi sono essenziali per raccogliere dati dagli utenti e fornire risposte basate sulle loro azioni, rendendo i programmi più interattivi e versatili.
| Metodo | Descrizione |
| input ( ) | Si usa per ricevere dati dall'utente. |
| print () | Si usa per mostrare dati all'utente |
Le f-string (formatted string literals), introdotte in Python 3.6, sono un modo intuitivo e potente per formattare stringhe. Utilizzando un prefisso f prima delle virgolette, è possibile inserire espressioni Python direttamente all'interno della stringa racchiudendole tra parentesi graffe { } . Questo rende le f-string più leggibili e performanti rispetto ai metodi tradizionali come str . format ( ) o concatenazioni manuali con +. Le f-string supportano qualsiasi espressione Python, inclusi calcoli, chiamate a funzioni e riferimenti a variabili.
Le variabili in Python sono contenitori utilizzati per memorizzare dati che possono essere recuperati e manipolati durante l'esecuzione del programma. Grazie alla tipizzazione dinamica, non è necessario dichiarare il tipo delle variabili: il tipo di dato viene assegnato automaticamente in base al valore associato alla variabile. Questo approccio semplifica la scrittura del codice, rendendolo più flessibile e leggibile. Tuttavia, è importante utilizzare nomi di variabili descrittivi per migliorare la chiarezza e la manutenibilità del codice.
| Tipo | Descrizione |
| Interi (int) | Numeri interi, positivi o negativi, senza parte decimale. |
| Numeri in virgola mobile (float) | Numeri decimali che rappresentano valori con precisione frazionaria. |
| Stringhe (str) | Sequenze di caratteri utilizzate per rappresentare testo. |
| Booleani (bool) | Valori logici che possono essere True o False. |
| Liste (list) | Collezioni ordinate e mutabili di elementi. |
| Tuple (tuple) | Collezioni ordinate e immutabili di elementi. |
| Dizionari (dict) | Strutture dati non ordinate che memorizzano coppie chiave-valore. |
| Insiemi (set) | Collezioni non ordinate di elementi unici. |
| Tipi complessi (complex) | Numeri complessi con parte reale e immaginaria. |
| Metodo | Descrizione |
| dir () | Restituisce una lista di attributi e metodi disponibili per un oggetto. È utile per esplorare le proprietà di un oggetto. |
| type (obj) | Restituisce il tipo di un oggetto (es. int, str, list, ecc.). |
| len (obj) | Restituisce la lunghezza di una stringa, lista, tupla, set o dizionario. |
| range (start, stop, step) | Genera una sequenza di numeri. |
| sum(iterable) | Calcola la somma degli elementi di un iterable. |
| abs ( number ) | Restituisce il valore assoluto di un numero. |
| round ( number, digits) | Arrotonda un numero al numero di cifre specificato. |
| enumerate (iterable ) | Restituisce un oggetto enumerato (indice e valore). |
| zip(iter, iter, ... ) | Combina iterabili in tuple. |
| Metodo | Descrizione |
| lower ( ) | Restituisce una copia della stringa in cui tutti i caratteri alfabetici sono trasformati in minuscolo. |
| upper ( ) | Restituisce una copia della stringa in cui tutti i caratteri alfabetici sono trasformati in maiuscolo. |
| join (iterable) | Combina gli elementi di un iterable in una stringa. |
| find (sub) | Restituisce l'indice della prima occorrenza di una sottostringa. |
| strip() | Rimuove gli spazi all'inizio e alla fine. |
| capitalize() | Converte la prima lettera in maiuscolo. |
| replace (old, new) | Sostituisce una sottostringa con un'altra. |
| split (delimiter) | Divide la stringa in una lista, usando un delimitatore. |
| starstwith (prefix) | Verifica se la stringa inizia con un prefisso. |
| endswith (suffix) | Verifica se la stringa finisce con un suffisso. |
Il casting è il processo di conversione di un tipo di dato in un altro. Si usa per garantire che i dati siano nel formato corretto per una determinata operazione.
Gli operatori consentono di implementare logiche complesse e manipolare dati in modo efficace. Sono simboli o parole chiave che permettono di eseguire operazioni su variabili e valori. Sono suddivisi in:
| Tipo | Descrizione |
| Aritmetici | Eseguono operazioni matematiche come somma, sottrazione, moltiplicazione e divisione. |
| Logici | Per combinare o negare condizioni booleane. |
| Di confronto | Per confrontare due valori e restituire un risultato booleano. |
| Di appartenenza | Per verificare la presenza di un elemento in una sequenza. |
| Di identità | Per controllare se due oggetti puntano allo stesso indirizzo di memoria. |
| Di assegnazione | Per assegnare valori a variabili o aggiornare i loro valori esistenti. |
| Bitwise | Operano direttamente sui bit dei numeri binari, manipolandoli a livello bit per bit. |
| Tipologia | Operatori | Descrizione |
| Aritmetici | +, -, *, /, //, % | Addizione, sottrazione, moltiplicazione, divisione, divisione intera, modulo. |
| Logici | and, or, not | Operatori logici AND, OR, NOT. |
| Di confronto | != , == , >, <, >=, <= | Diverso da, uguale a, maggiore di, minore di, ecc. |
| Di appartenenza | In, not in | Verifica se un elemento è presente o meno. |
| Di identità | Is, is not | Verifica se due oggetti sono lo stesso o meno. |
| Di assegnazione | +=, =, == , +=, *= , %= | Assegnazione semplice, incremento e assegnazione, decremento e assegnazione, ecc. |
| Bitwise | &, |, ^, ~ , << , > | AND bit a bit, OR bit a bit, XOR bit a bit, NOT bit a bit, shift a sinistra e sinistra |
| Operazione | Descrizione |
| Unione | set1 |set2 |
| Intersezione | set1 & set2 |
| Differenza asimmetrica | set1 - set2 |
In Python, lo scope (ambito) di una variabile o di una funzione si riferisce alla regione del codice in cui quella variabile o funzione è riconosciuta e può essere utilizzata. Esistono diversi livelli di scope in Python:
| Tipo | Descrizione |
| Scope locale | Le variabili definite all'interno di una funzione sono locali a quella funzione e non sono accessibili al di fuori di essa. |
| Scope globale | Le variabili definite al di fuori di tutte le funzioni sono globali e possono essere accessibili da qualsiasi parte del codice, incluse le funzioni. |
| Scope non locale (nonlocal) | Le variabili non locali sono utilizzate nelle funzioni annidate. La parola chiave nonlocal permette di modificare una variabile definita in una funzione esterna, ma non globale. |
| Scope built-in | Questo è lo scope che contiene tutte le funzioni e le variabili predefinite di Python, come print ( ), len ( ), ecc. Queste sono disponibili ovunque nel codice. |
| Scope di modulo | Le variabili e le funzioni definite a livello di modulo sono accessibili in tutto il modulo. Se importi un modulo in un altro, puoi accedere alle sue variabili e funzioni. |
| Scope di classe | Le variabili e i metodi definiti all'interno di una classe sono accessibili solo all'interno della classe stessa e dalle sue istanze. |
I cicli permettono di ripetere un blocco di codice più volte, in base a una condizione o a una sequenza di elementi.
| Struttura | Descrizione |
| If-Else | La struttura condizionale if-else permette di eseguire blocchi di codice differenti in base ad una condizione booleana. Se la condizione specificata nella clausola if è vera, viene eseguito il blocco associato; altrimenti passa al blocco else. Questo costrutto è essenziale per implementare logiche decisionali nei programmi . |
| Elif | Viene utilizzata per aggiungere ulteriori condizioni a una struttura condizionale if-else. Questo permette di gestire più condizioni senza dover annidare ulteriori blocchi if-else. |
| For | Il ciclo for è ideale per iterare su sequenze come liste, stringhe o range, o comunque quando il numero di ripetizioni è noto |
| While | Si utilizza while per condizioni dinamiche, cioè quando il ciclo deve continuare fino a quando una condizione specifica è vera. é ideale per problemi in cui il numero di iterazioni non è predeterminato e dipende da calcoli o eventi che si verificano durante l'esecuzione del ciclo. |
| Break e continue |