
- linguaggio interpretato, non compilato;
- scrittura ordinata del codice;
- sintassi semplice ed intuitiva.





Python offre moltissime funzioni già fatte che possiamo utilizzare per i nostri programmi, senza doverle ogni volta ricreare. Qui una lista delle più utili e comuni:
input()
e print()
.
La prima permette di creare un flusso di dati che consente all'utente di inserire dei dati nel programma.
input("Inserisci un numero: ")
>>> Inserisci un numero: _
NB: i dati inseriti in input vengono sempre inseriti come stringhe, a meno che
non si usino funzioni come eval()
.
La seconda permette, invece, di visualizzare delle stringhe in console.
print("ciao", nomeInserito, ":D")
>>> ciao Christian :D
NB: si possono inserire più argomenti all'interno di ogni print: verrà stampato
ogni argomento, uno dopo l'altro, lasciando un carattere vuoto tra ognuno.
In Python esistono molte funzioni che permettono di tramutare una variabile da un tipo ad un altro. Vediamo qualche esempio:
stringa = "13"
print(int(stringa) + 2)
>>> 15
numeroClasse = 3
print("Classe:", string(numeroClasse) + "B")
>>> Classe: 3B
tupla = ("Lunedì", "Martedì", "Mercoledì")
print(list(tupla))
>>> list("Lunedì", "Martedì", "Mercoledì")
tuple()
, float()
... le vedrete
programmando all'occorrenza ;)
lista = [1, 2, 3, 4, 5, 6, 7]
print(len(lista))
>>> 7
Bene, adesso vediamo come possiamo noi definire una funzione all'occorrenza.
Per definire una funzione bisogna anteporre al blocco di codice la keyword
def
, successivamente, separato con uno spazio, il
nome della funzione, le parentesi con gli argomenti richiesti subito dopo,
":" e, andando a capo con un'indentazione,
si può dichiarare ciò che deve eseguire la funzione quando richiamata.
def funzione(a, b):
return a + b
print(funzione(1, 2))
>>> 3
NB: per richiamare la funzione, questa dev'essere dichiarata nelle righe precedenti.
Abbiamo visto nella sezione precedente la keyword return
.
Questa, come avrete intuito, dichiara a Python cosa la funzione deve ritornare al resto
del codice, in quel caso la somma tra i due argomenti immessi come parametri richiesti
nelle parentesi.
Se nel return della funzione viene richiamata la funzione stessa, si parla di funzione "recursive", cioè che la funzione richiama essa stessa all'interno del proprio codice.
def countDown(count = 3):
print(count)
count -= 1 // diminuisce di 1 ad ogni richiamo
if count > 0:
countDown(count)
else:
print("Finished!")
countDown()
>>> 3
>>> 2
>>> 1
>>> Finished!
In Python ci sono molti tipi di variabili di cui poter usufruire, alcuni li possiamo ritrovare in altri linguaggi di programmazione, altri sono nativi di Python. Per dichiarare una variabile, a differenza degli altri linguaggi, bisogna semplicemente scrivere il nome della variabile (chiamato 'identificatore') e assegnargli un valore.
a = 2
altro_int = 5
a = 2.5
altro_float = 19.003
stringa = 'La stringa "hola" è lunga 4 caratteri'
print(stringa)
>>> La stringa "hola" è lunga 4 caratteri
stringa = "La stringa \"hola\" è lunga 4 caratteri"
print(stringa)
>>> La stringa "hola" è lunga 4 caratteri
myList = [1, "2", [3, 4]]
for element in myList:
print(element)
>>> 1
>>> "2"
>>> [3, 4]
print(myList[1])
>>> "2"
myTuple = (1, 0.5, "elemento")
myTuple[2] = 5 // questa riga darà errore
>>> TypeError: 'tuple' object does not support item assignment
myDict = {"name": "Mario", "surname": "Rossi", "age": 20}
print(myDict[name], myDict[surname])
>>> Mario Rossi
Nome | N° elementi fisso | Tipi di variabili ammessi | Metodo di richiamo elemento |
---|---|---|---|
Lista | Numero infinito di elementi | Tutti, anche strutture dati stesse | list[indice] |
Tupla | Numero definito di elementi | Tutti, anche strutture dati stesse | tuple[indice] |
Dizionario | Numero infinito di elementi (coppie) | Tutti, anche strutture dati stesse, basta che siano organizzati a coppie | dict[chiave] |
In Python, come in altri linguaggi di programmazione, le variabili hanno uno "scope", cioè possono essere globali o locali.
var = 5
def function():
print(var) // dichiarata al di fuori della funzione, ma essendo globale sarà accessibile
function()
>>> 5
def function():
var = 20
print(var) // la funzione print non riuscirà a trovare nessuna variabile con quel nome
>>> NameError: name 'var' is not defined