python base lezione 4
TRANSCRIPT
PYTHON BASE
Custom function
Funzioni
Una funzione è un blocco di istruzioni isolate dal resto del programma che accetta come input uno o più parametri e
restituisce un output, ottenuto dall’esecuzione delle istruzioni
Programma
Blocco di istruzioni
INPUT OUTPUT
Funzioni: dichiarazione
def NomeFunzione(P1, P2,…….PN) :Istruzione 1Istruzione 2…………….Istruzione Rreturn O1, O2,..... OM
indentazione
INPUT(parametri)
OUTPUT(risultato)
Funzioni: chiamata (esecuzione)
R1, R2, … RM = NomeFunzione(A1, A2,…….AN)
INPUT(argomenti)
OUTPUT(assegnazione)
Funzioni: parametri e argomenti
def NomeFunzione(P1, P2...) :…………….return O1, O2,..... OM
Dichiarazione
PARAMETRI
R1= NomeFunzione(‘tt’, 24 ..)
Chiamata
ARGOMENTI
le variabili di assegnazione possono essere una oppure tante quante sono i valori passati dall’istruzione return. Se il numero è uguale, allora alle variabili sono assegnati i diversi valori secondo una logica posizionale. Altrimenti alla variabile di assegnazione è assegnata una tupla contenente la sequenza dei risultati.
Argomenti assegnati per posizione
Funzioni: parametri predefiniti e argomenti chiave
def NomeFunzione(P1, P2, P3=25, P4=’Italia’ ) :………..return O1, O2,..... OM
Dichiarazione
R1= NomeFunzione(‘tt’, 24, P3=60)
Chiamata
In fase di chiamata non è necessario passare gli argomenti corrispondenti ai parametri predefiniti. In caso di assenza di argomento essi assumono il valore di default. Si può chiamare una funzione modificando il valore di uno o più parametri predefiniti
Funzioni: argomenti a lunghezza variabile
def NomeFunz.(*L) : ……..
Dichiarazione
R1= NomeFunz.(10,20)Chiamata
R1= NomeFunz.(10,20,30) R1= NomeFunz.(10,20,......123)
def NomeFunz.(**D) : ……..
Dichiarazione
R1= NomeFunz.(A=10)Chiamata
R1= NomeFunz.(A=10,B=20)
LEZIONE 1..www.fordatascientist.org
B00-PyBaseB53-Custom-Function
Funzioni ricorsive
E’ possibile scrivere la chiamata di una funzione all’interno di se stessa
def Indietro(N): if N == 0: return print(N) Indietro(N-1)
Questa funzione chiama se stessa con un argomento decrementato progressivamente di uno
def Fattoriale(n): if n == 0:
#print('n è uguale a 0')return 1
else:R=n * Fattoriale(n-1) #print(n,R)return R
Funzione
call 1call 2call n
return 2return 1
return n
Questa funzione chiama recorsivamente se stessa fino a che N è uguale a zero. Quindi assegna ricorsivamente il valore R alla chiamante
PYTHON BASE
Funzioni temporali
LEZIONE 1..www.fordatascientist.org
B00-PyBaseB71-DateTime
PYTHON BASE
File di input
LEZIONE 1..www.fordatascientist.org
B00-PyBaseB60-FileInput
def returnparametri
argomenti posizionali *listargomenti di parola chiave **dict
datetime.datetimepandas.Timestamp
istanti temporali
.is_year_end
pandas.Period .freq .period_range
periodi