Il python è un linguaggio che ha tra i principali obiettivi: dinamicità, semplicità e flessibilità. Supporta multipli paradigmi di programmazione, tra cui quello a oggetti e quello funzionale. Il 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.
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. L'indentazione si può ottenere sia con il carattere di tabulazione sia con un numero arbitrario di spazi, purché ovviamente si operi in modo congruente con la sintassi del linguaggio.
Python permette anche alcune scorciatoie per scrivere una maggiore quantità di codice sulla stessa riga. Se i due punti (:) danno il via a un blocco indentato di una sola istruzione, esso può essere scritto anche sulla stessa riga, preceduto da uno spazio.
Per scrivere in Python si può procedere anche direttamente dal browser: https://replit.com/languages/python3
Ecco i concetti chiave:
Assegnazione di variabile
variabile_1 = 10
Per stampare:
print("Hello")
print("Hello", variabile_1)
Commenti:
# testo
I tipi di variabili sono:
- stringa
- numero
- carattere singolo
- boolenano (True oppure False)
Gli operatori matematici sono:
+ - * / %
(la percentuale è il resto della divisione)
La sintassi dell'IF è (con indentazione obbligatoria):
if(variabile==1):
print("Ok, si è uguale a 1")
else:
print("No, non è uguale a 1")
Nell'if si usano i simboli:
- uguale ==
- non uguale !=
- maggiore >
- maggiore o uguale >=
- minore <
- minore o uguale <=
- and per dare una condizione doppia
- or per dare una condizione di scelta
Elif
Si introduce tra l'if e l'else un altra istruzione l'elif. Se ne possono mettere più di una e significa "altrimenti se". Quindi il la sequenza generica è:
if
elif
...
elif
else
L'istruzione elif viene eseguita solo se l'if o eventuali elif precedenti hanno restituito False e poi se la sua espressione di controllo restituisce True. Quindi è un True intermedio che segue dei False precedenti. Ovviamente se l'if e tutti gli elif sono False, si arriva all'else a chiusura.
Gli array (in italiano i vettori)
I vettori sono un insieme di variabili che sono indicizzati all'interno attraverso un indice 0,1,2,3..
Ad esempio abbiamo un vettore misto di lettere e numeri:
vettore=["11a",12,"13c",14,"15e","16k",17,18,19,20]
se voglio stampare l'indice 5 nel vettore scrivo:
print(vettore[5])
Le matrici
Abbiamo una sequenza di vettori che costituiscono una struttura bidimensionale con indice sotto forma di coordinate x e y, che partono da 0,1,2...
Ad esempio imponiamo:
matrice=[[1,2,3],[4,5,6],[7,8,9]]
cioè abbiamo
1 2 3
4 5 6
7 8 9
e se voglio stampare la riga 1 e la colonna 2 avrò:
print(matrice[1][2])
che restituirà 6.
I cicli
Una volta impostata una variabile si usa WHILE per indicare la condizione che tale variabile deve raggiungere fino a completare.
Si usa l'indentazione per selezionare le azioni e poi si mette un valore di incremento variabile per farla ripartire.
while variabile_1 <=10:
print(variabile_1)
variabile_1=variabile_1+1
print("fine")
Il ciclo for
Il FOR è legato ai vettori (o matrici) ed esegue l'ordine per il contenuto del vettore.
Ad esempio:
for n in vettore:
print(n)
print("fine")
stamperà il contenuto del vettore in successione
Procedure
Le procedure sono sotto-programmi. Si definiscono con def e possono venir richiamate. Sempre minuscolo.
def procedura1():
print("Hai chiamato a Paperino?")
print(variabile_1)
Per eseguire una procedura basta riportarla:
procedura1()
e verrà eseguito quello che è impostato.
Funzione o procedure con parametri
E' come la procedura, ma nelle parentesi si mettono gli imput di una funzione. Ad esempio creiamo la conversione tra centimetri a pollici. Avremo:
def funz_pollici(cm):
print(cm*0.393701)
funz_pollici(variabile_1)
Classe
Le classi sono raggruppamenti di variabili. Ad esempio associamo ad una persona il nome e l'età; si introduce anche la variabile self:
class Persona:
def __init__(self,a,b):
self.nome=a
self.eta=b
def presentazione(self):
print("Mi chiamo", self.nome, "ed ho", self.eta, "anni")
tizio=Persona("Giulio",variabile_1)
caio=Persona(variabile_2,variabile_1+variabile_1)
tizio.presentazione()
caio.presentazione()
Esempio di programma
Usare: https://replit.com/languages/python3
#assegnazioni
variabile="Piccolo programma in Python"
variabile_1 = 10
variabile_2 = 'K'
variabile_3 = True
#incrementi e variazioni di variabile
variabile_1 = variabile_1+1
variabile_1+= 5
variabile_1-= 5
variabile_1*= 5
variabile_1/= 5
variabile_1=variabile_1%3
#stampa
print(variabile)
print(variabile_1)
print(variabile_2)
print(variabile_3)
#if else
if(variabile_1==1):
print("Ok, si è uguale a 1")
else:
print("No, non è uguale a 1")
# if con maggiore
if(variabile_1>1):
print("Ok, è maggiore di 1")
else:
print("No, non è maggiore di 1")
# if ... elif .... else e con and
if(variabile_1>1 and variabile_2=="K"):
print("Ok, si è maggiore di 1 e la variabile 2 è uguale a K, mentre il booleano è", variabile_3)
elif(variabile_1>3 or variabile_2=="V"):
print("Ok, si è maggiore di 3 o la variabile 2 è uguale a V, mentre il booleano è", variabile_3)
else:
print("No")
#i vettori
vettore=["11a",12,"13c",14,"15e","16k",17,18,19,20]
print(vettore[5])
#le matrici
matrice=[[1,2,3],[4,5,6],[7,8,9]]
print(matrice[1][2])
#creiamo un ciclo
while variabile_1 <=10:
print(variabile_1)
variabile_1=variabile_1+1
print("fine")
#creiamo un ciclo for
for n in vettore:
print(n)
print("fine")
#creiamo una procedura senza parametri
def procedura1():
print("Hai chiamato a Paperino?")
print(variabile_1)
procedura1()
#creaiamo una funzione che riceve un parametro
def funz_pollici(cm):
print(cm*0.393701)
funz_pollici(variabile_1)
#le classi
class Persona:
def __init__(self,a,b):
self.nome=a
self.eta=b
def presentazione(self):
print("Mi chiamo", self.nome, "ed ho", self.eta, "anni")
tizio=Persona("Giulio",variabile_1)
caio=Persona(variabile_2,variabile_1+variabile_1)
tizio.presentazione()
caio.presentazione()
Output
Piccolo programma in Python
2.0
K
True
No, non è uguale a 1
Ok, è maggiore di 1
Ok, si è maggiore di 1 e la variabile 2 è uguale a K, mentre il booleano è True
16k
6
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
fine
11a
12
13c
14
15e
16k
17
18
19
20
fine
Hai chiamato a Paperino?
11.0
4.330711
Mi chiamo Giulio ed ho 11.0 anni
Mi chiamo K ed ho 22.0 anni
