Indice
- Introduzione
- Variabili
- Indentazione
- Istruzione condizione IF
- Operatori di confronto
- Strutture “if-else” e “if-elif-else”
- Ciclo
- Ciclo for
- Ciclo while
- Break
- Continue
- Range
Introduzione
Python è un linguaggio di programmazione versatile, popolare e di facile apprendimento. In questo articolo, esploreremo i concetti fondamentali di Python, compresi variabili, tipi di dati e la struttura di base del linguaggio.
Se sei un principiante assoluto o desideri semplicemente fare un ripasso, sei nel posto giusto! Preparati a immergerti nel meraviglioso mondo di Python.
Se non avete installato sul vostro computer python e un buon editor come Visual Studio Code, potete testare gli esempi tramite uno dei tanti editor online di Python come Programiz.
Variabili
Una variabile è un contenitore per memorizzare dati.
In Python, puoi assegnare un valore a una variabile utilizzando l’operatore di assegnazione “=“.
nome = "Mario"
anni = 25
altezza = 1.75
Nell’esempio la variabile nome è associata al valore Mario, anni al valore numerico 25 ed altezza al valore 1,75.
Vediamo insieme i tipi di dati più utilizzati:
- Stringhe: rappresentano sequenze di caratteri e vengono delimitate da virgolette singole o doppie.
saluto = "Ciao, mondo!"
- Numeri: possono essere interi o decimali (float) e vengono utilizzati per eseguire operazioni matematiche.
Esempio:
intero = 42
decimale = 3.14
- Liste: contengono un insieme ordinato di elementi separati da virgole e racchiusi tra parentesi quadre.
Esempio:
numeri = [1, 2, 3, 4, 5]
frutta = ["mela", "banana", "arancia"]
- Tuple: Le tuple sono simili alle liste, ma a differenza di quest’ultime, sono immutabili, il che significa che non possono essere modificate dopo la loro creazione.
Le tuple vengono definite utilizzando le parentesi tonde () e i loro elementi sono separati da virgole.
Esempio di creazione di una tupla:
frutta = ("mela", "banana", "arancia")
Puoi accedere agli elementi di una tupla utilizzando l’indicizzazione, proprio come fai con le liste.
Gli indici delle tuple partono da 0.
Esempio di accesso agli elementi di una tupla:
frutta = ("mela", "banana", "arancia")
print(frutta[0]) # Stampa: mela
print(frutta[1]) # Stampa: banana
print(frutta[2]) # Stampa: arancia
Le tuple sono immutabili, non è possibile modificare i loro elementi dopo la creazione.
Se provi a modificare un elemento, otterrai un errore.
Esempio di tentativo di modifica di una tupla (genera un errore):
frutta[0] = "pera" # TypeError: 'tuple' object does not support item assignment
Utilizzo delle tuple in assegnamenti multipli: Le tuple sono spesso utilizzate in assegnamenti multipli per scambiare valori o estrarre elementi da una sequenza.
Esempio di assegnamenti multipli con tuple:
a, b = 1, 2
print(a) # Output: 1
print(b) # Output: 2
x, y, z = frutta
print(x) # Output: mela
print(y) # Output: banana
print(z) # Output: arancia
- Dizionari: sono un tipo di dato molto potente che associa una chiave ad un valore.
Un dizionario è una collezione di elementi, ma a differenza delle liste o delle tuple, non sono ordinati in base all’indice, ma in base alle chiavi.
Le chiavi possono essere di qualsiasi tipo immutabile, come stringhe, numeri interi o tuple. I valori possono essere di qualsiasi tipo, inclusi altri dizionari.
Puoi creare un dizionario utilizzando le parentesi graffe {} e separando ogni coppia chiave-valore con due punti (:). Le coppie chiave-valore possono essere separate da virgole.
Esempio di creazione di un dizionario:
studente = {
"nome": "Marco",
"età": 25,
"corso": "Informatica"
}
Puoi accedere ai valori di un dizionario utilizzando la notazione delle parentesi quadre [] e specificando la chiave corrispondente.
Esempio di accesso ai valori di un dizionario:
studente = {
"nome": "Marco",
"età": 25,
"corso": "Informatica"
}
print(studente["nome"]) # Output: Marco
print(studente["età"]) # Output: 25
print(studente["corso"]) # Output: Informatica
Modifica dei valori: Puoi modificare i valori di un dizionario specificando la chiave corrispondente e assegnando un nuovo valore.
Esempio di modifica dei valori di un dizionario:
studente = {
"nome": "Marco",
"età": 25,
"corso": "Informatica"
}
studente["età"] = 26
print(studente["età"]) # Output: 26
Aggiunta di nuove coppie chiave-valore: Puoi aggiungere nuove coppie chiave-valore a un dizionario specificando una nuova chiave e assegnando un valore ad essa.
Esempio di aggiunta di nuove coppie chiave-valore a un dizionario:
studente = {
"nome": "Marco",
"età": 25,
"corso": "Informatica"
}
studente["email"] = "marco@example.com"
print(studente["email"]) # Output: marco@example.com
Indentazione
Ci sono linguaggi che utlizzano le parentesi graffe per definire i blocchi del codice.
Python utilizza l’indentazione, lo spostamento del codice a destra solitamente di 4 spazi.
Istruzione condizione IF
L’istruzione condizionale if è uno strumento fondamentale nella programmazione che consente di eseguire determinate azioni solo se una specifica condizione è vera.
L’istruzione “if” ha la seguente sintassi di base:
if condizione:
# Blocco di codice da eseguire se la condizione è vera
Esempio di utilizzo dell’istruzione “if”:
età = 18
if età >= 18:
print("Sei maggiorenne")
Operatori di confronto
Gli operatori di confronto consentono di confrontare valori e restituire un valore booleano (Vero o falso ossia True o False) in base al risultato del confronto.
Alcuni degli operatori di confronto comuni sono:
- ==: uguaglianza
- !=: disuguaglianza
- <: minore di
- : maggiore di
- <=: minore o uguale a
- =: maggiore o uguale a
Esempio di utilizzo di operatori di confronto con l’istruzione if:
x = 5
if x < 10:
print("x è minore di 10")
y = 15
if y != 20:
print("y non è uguale a 20")
Strutture “if-else” e “if-elif-else”
Oltre all’istruzione “if” singola, puoi estendere il controllo utilizzando le strutture if-else e “if-elif-else“. La struttura “if-else” consente di specificare un blocco di codice da eseguire se la condizione è vera e un altro blocco di codice da eseguire se la condizione è falsa.
Esempio di utilizzo della struttura “if-else“:
età = 18
if età >= 18:
print("Sei maggiorenne")
else:
print("Sei minorenne")
La struttura “if-elif-else” viene utilizzata quando hai più condizioni da controllare.
“elif” sta per “else if” e consente di aggiungere ulteriori condizioni da controllare.
Esempio di utilizzo della struttura “if-elif-else“:
voto = 85
if voto >= 90:
print("Hai ottenuto un A")
elif voto >= 80:
print("Hai ottenuto un B")
elif voto >= 70:
print("Hai ottenuto un C")
else:
print("Hai ottenuto una valutazione inferiore a C")
Ciclo
I cicli di loop sono un componente essenziale della programmazione e ti consentono di eseguire ripetutamente un blocco di codice.
In Python, i due principali cicli di loop sono il ciclo for e il ciclo while.
Esploreremo entrambi i cicli di loop e mostreremo come utilizzarli in modo efficace.
Ciclo for
Il ciclo for viene utilizzato per iterare su una sequenza di elementi specificata.
Puoi utilizzare il ciclo per iterare su una lista, una stringa, un dizionario o un oggetto iterabile.
Esempio di utilizzo del ciclo “for” con una lista:
frutta = ["mela", "banana", "arancia"]
for frutto in frutta:
print(frutto)
L’esempio stamperà sullo schermo ogni frutto contenuto nella lista memorizzata nella variabile frutta.
Se conoscete qualcosa d’inglese, Python è molto semplice.
Abbiamo frutta che contiene tre frutti.
Il ciclo prende ciascun elemento di frutta e lo memorizza dentro la variabile frutto (riga2) e poi lo stampa (riga3)
Esempio di utilizzo del ciclo for con una stringa:
nome = "Marco"
for lettera in nome:
print(lettera)
Stessa logica dei frutti.
Il ciclo prende una singola lettera della parola Marco e lo memorizza in lettera per poi stamparla.
Ripete il tutto finchè non arriva all’ultima lettera.
La stringa può essere considerata come una lista di singoli carattere che compongono la parola.
Esempio di utilizzo del ciclo for con una lista di stringhe:
nome = ["M", "a", "r", "c", "o"]
for lettera in nome:
print(lettera)
Vale anche per una lista di numeri:
numeri = [1, 2, 3, 4, 5]
for numero in numeri:
print(numero)
Esempio di utilizzo del ciclo “for” con un dizionario:
studenti = {"Mario": 25, "Luca": 22, "Giulia": 23}
for nome, età in studenti.items():
print(nome, "ha", età, "anni")
La riga 2 associa ogni coppia del dizionario studenti alle variabili nome ed età.
Per ogni elemento del dizionario, il ciclo stamperà nome ed età.
Ciclo while
Il ciclo “while” viene utilizzato quando si desidera che un blocco di codice venga eseguito fintanto che una determinata condizione è vera.
Esempio di utilizzo del ciclo “while”:
contatore = 0
while contatore < 5:
print("Il contatore è", contatore)
contatore += 1
Nell’esempio assegniamo alla variabile contatore il valore 0 (riga1)
Se la variabile contatore è minore di 5 stampa “il contatore è ” seguito dal valore di contatore. (riga 3)
Continua il blocco e la riga 4 incrementa il contenuto della variabile contatore di 1, per poi tornare alla riga 2 e verificare nuovamente la condizione se contatore è minore di 5.
contatore += 1
# Equivalente a
contatore = contatore + 1
Break
L’istruzione break esce dal ciclo senza fare ulteriori iterazioni.
Esempio di utilizzo del ciclo “while” con l’istruzione “break”:
contatore = 0
while True:
# Inizio blocco del ciclo
print("Il contatore è", contatore)
contatore += 1
if contatore >= 5:
break
# Fine del blocco del ciclo
La condizione di while è True e di conseguenza sarà sempre vera.
Il blocco di codice dentro il ciclo verrà ripetuto all’infinito se non ci fosse l’istruzione break
Quando il valore del contatore sarà maggiore o uguale a 5, il ciclo terminerà grazie a break.
Continue
L’istruzione “continue” viene utilizzata all’interno di un ciclo per saltare l’iterazione corrente e passare alla successiva, ignorando il resto del codice all’interno del blocco di ciclo per quell’iterazione specifica. Questo può essere utile quando si desidera saltare determinate condizioni o evitare di eseguire alcune parti del codice durante un’iterazione specifica.
Esempio di utilizzo di “continue” nel ciclo “for”:
numeri = [1, 2, 3, 4, 5]
for numero in numeri:
if numero == 3:
continue
print(numero)
Stamperà a schermo i numeri omettendo il numero 3, perchè sarà vera la condizione alla riga 3 e verrà eseguita l’istruzione continue che salterà il resto del codice dentro il ciclo.
1
2
4
5
L’istruzione continue può essere inserito anche dentro il ciclo while.
Vediamo un’esempio:
contatore = 0
while contatore < 5:
contatore += 1
if contatore == 3:
continue
print(contatore)
Output:
1
2
4
5
Nell’esempio sopra, l’istruzione “continue” viene utilizzata quando il valore di “contatore” è 3. Quindi, durante l’iterazione in cui “contatore” è 3, l’istruzione “continue” salta il resto del codice nel blocco di ciclo e passa alla successiva iterazione.
L’utilizzo dell’istruzione “continue” dipende dallo specifico scenario e dalle esigenze del tuo codice. Può essere utilizzata per saltare parti del codice che non sono rilevanti o che devono essere evitate in alcune circostanze.
Range
La funzione “range” è utilizzata per generare una sequenza di numeri. È spesso utilizzata in combinazione con i cicli “for” per specificare il numero di iterazioni desiderate.
La sintassi di base della funzione “range” è la seguente:
range(inizio, fine, passo)
- “inizio“: il valore di partenza della sequenza (opzionale, il valore predefinito è 0).
- “fine“: il valore finale della sequenza (escluso).
- “passo“: l’incremento tra i numeri successivi (opzionale, il valore predefinito è 1).
La funzione “range” restituisce un oggetto di tipo “range“, che può essere iterato o convertito in una lista usando la funzione “list()“.
Esempio di utilizzo di “range” in un ciclo “for“:
for numero in range(1, 6):
print(numero)
Stamperà:
1
2
3
4
5
Nell’esempio sopra, la funzione “range(1, 6)” genera una sequenza di numeri da 1 a 5. Il ciclo “for” itera su questa sequenza e stampa ogni numero.
Esempio di utilizzo di “range” con un passo specificato:
for numero in range(1, 10, 2):
print(numero)
Output:
1
3
5
7
9
Nell’esempio sopra, la funzione “range(1, 10, 2)” genera una sequenza di numeri dispari da 1 a 9, con un incremento di 2. Il ciclo “for” itera su questa sequenza e stampa ogni numero.
Puoi anche convertire l’oggetto “range” in una lista utilizzando la funzione “list()“:
numeri = list(range(1, 6))
print(numeri)
Output:
[1, 2, 3, 4, 5]
La funzione “range” è molto flessibile e può essere utilizzata in vari modi per generare sequenze di numeri per i tuoi scopi specifici.
Conclusioni: Questo articolo ha coperto alcuni dei concetti fondamentali di Python, inclusi variabili, tipi di dati e la struttura di base del linguaggio. Nel prossimo articolo, esploreremo le funzioni e i moduli in Python. Continua a seguirci per ulteriori avventure nel mondo della programmazione con Python!