Corso Python e R per Data Mining
giugno - luglio 2017
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 1
Istruzione 2
…………….
Istruzione R
return 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-PyBase
B53-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 1
call 2
call n
return 2
return 1
return n
Questa funzione chiama recorsivamente se
stessa fino a che N è uguale a zero. Quindi
assegna ricorsivamente il valore R alla
chiamante
Corso Python e R per Data Mining giu-lug 2017
PYTHON BASE
Classi e oggetti
Classi e oggetti
Classe Oggetto
Istanziare un
nuovo oggetto dalla
classe…...
Oggetti
Cassetta di attrezzi Schedario
Programmazione ad oggetti
Programmare ad oggetti significa disegnare le diverse
classi, definendo i loro attributi e i loro metodi. Quindi
utilizzare le classi per istanziare gli oggetti desiderati.
Una volta instanziati, gli oggetti avranno vita propria. In
particolare potranno essere modificati in modo dinamico i
loro attributi.
Attributi e metodi
Gli strumenti/documenti contenuti nella cassetta/schedario
possono essere di due tipi:
Gli attributi sono dei dati
(informazioni) che può essere
utile tenere nella
cassetta/schedario
ATTRIBUTI METODI
I metodi sono gli strumenti con i quali
si possono compiere delle azioni. I
metodi possono essere considerati
delle funzioni utili per il dato contesto
in cui è utilizzata la cassetta/schedario.
Classi e oggetti: un esempio
Classe Oggetto
class AnnualTS:
'''La Classe AnnualTS serve ad istanziare un oggetto
per la gestione/descrizione di una serie storica.
'''
def __init__(BASE, START, END, DATA):
BASE.LYEAR = [I for I in range(START,END+1)]
BASE.DATA = DATA
BASE.TS= dict(zip(BASE.LYEAR,BASE.DATA))
def __str__(BASE):
STR=""
for YEAR in BASE.LYEAR:
STR=STR+'Anno {0}: {1} n'.format(
YEAR,BASE.TS[YEAR])
return STR
TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33])
TS1.TS
print(TS1)
Classi ed oggetti: un esempio
def mean(BASE):
SUM=0
LNUM=0
for YEAR in BASE.LYEAR:
SUM=SUM+BASE.TS[YEAR]
LNUM +=1
RIS=1.0*SUM/LNUM
return RIS
def max(BASE):
MAX=0
for YEAR in BASE.LYEAR:
if BASE.TS[YEAR]>MAX:
MAX=BASE.TS[YEAR]
return MAX
Classe Oggetto
TS1.mean()
TS1.max()
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B80-ClassObject
Alcuni esempi di classi e oggetti
Modulo Numpy Modulo Pandas
Series
Ndarray
Array
DataFrame
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B32-Data-Structures-Other
Analisi di un oggetto
Shell ipython Celle jupyter
dir(Object) dir(Object)
Object.method??
Object?
%pdoc Object
%pinfo Object
lista componenti
descrizione
contenuti %pfile Object
CONTATTI TELEFONO
051 22 35 20
EMAIL
WORKSHOP@VICEM.IT

More Related Content

PDF
Introduzione a JavaScript
PDF
Strutture dati 04-funzionicustom-classioggetti
PDF
Linguaggio R, principi e concetti
PDF
JavaScript Object Oriented
PPTX
RFD-Discovery (Italian)
PDF
Introduzione a scala prima parte
PDF
Pillole di C++
PDF
Pe t4 perl-oggetti
Introduzione a JavaScript
Strutture dati 04-funzionicustom-classioggetti
Linguaggio R, principi e concetti
JavaScript Object Oriented
RFD-Discovery (Italian)
Introduzione a scala prima parte
Pillole di C++
Pe t4 perl-oggetti

Similar to Data mining 04-funzionicustom-classioggetti (20)

PDF
Python base lezione 4
PDF
Strutture dati 04-funzionicustom-classioggetti
PDF
Python advanced 20-classioggetti-sintesi
PDF
Python base lezione 5
PDF
2006 Py03 intermedio
PPT
R Vectors
PDF
Strutture dati 06-dataframe
PDF
Introduzione a Python
PDF
Py t3 python-oggetti
PDF
Python base 01-numeristringhe
PDF
Python base 06-funzionicustom
PDF
scipy e rpy per l'analisi degli acquisti della pubblica amministrazione
KEY
Corso Python Deltapromo lezione 1
PDF
Python advanced 01-numpypandas
PDF
Python advanced 01-numpypandas
PDF
Le basi di Pytthon 3 - Fondamenti n.1
PDF
Py a3 python-metaprogramming
PPTX
Python@Unina - Exercises
PDF
2008 python
PPTX
Python@Unina - Theory
Python base lezione 4
Strutture dati 04-funzionicustom-classioggetti
Python advanced 20-classioggetti-sintesi
Python base lezione 5
2006 Py03 intermedio
R Vectors
Strutture dati 06-dataframe
Introduzione a Python
Py t3 python-oggetti
Python base 01-numeristringhe
Python base 06-funzionicustom
scipy e rpy per l'analisi degli acquisti della pubblica amministrazione
Corso Python Deltapromo lezione 1
Python advanced 01-numpypandas
Python advanced 01-numpypandas
Le basi di Pytthon 3 - Fondamenti n.1
Py a3 python-metaprogramming
Python@Unina - Exercises
2008 python
Python@Unina - Theory
Ad

More from Studiabo (20)

PDF
Big data rischi
PDF
Big data correlazioni
PDF
Ravenna2019 - lezione Big Data
PDF
Strutture dati 08-reshape
PDF
Strutture dati 07-multiindex
PDF
Strutture dati 05-numpypandas
PDF
Strutture dati 03-stutturedatibuiltin
PDF
Strutture dati 02-strutturecontrollo-funzionibuiltin
PDF
Strutture dati 01-numeristringhe
PDF
Strutture dati 00-corso2018-2019
PDF
Pres ulisse acciaio-ottobre2018
PDF
Strutture dati 08-reshape
PDF
Pres ulisse acciaio-aprile2018
PDF
Strutture dati 02-strutturecontrollo-funzionibuiltin
PDF
Strutture dati 07-multiindex
PDF
Strutture dati 05-numpypandas
PDF
Strutture dati 06-dataframe
PDF
Strutture dati 03-stutturedatibuiltin
PDF
Strutture dati 01-numeristringhe
PDF
Strutture dati 00-corso2018
Big data rischi
Big data correlazioni
Ravenna2019 - lezione Big Data
Strutture dati 08-reshape
Strutture dati 07-multiindex
Strutture dati 05-numpypandas
Strutture dati 03-stutturedatibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 01-numeristringhe
Strutture dati 00-corso2018-2019
Pres ulisse acciaio-ottobre2018
Strutture dati 08-reshape
Pres ulisse acciaio-aprile2018
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 07-multiindex
Strutture dati 05-numpypandas
Strutture dati 06-dataframe
Strutture dati 03-stutturedatibuiltin
Strutture dati 01-numeristringhe
Strutture dati 00-corso2018
Ad

Recently uploaded (8)

PDF
Presentazione educazione finanziaria e informazione.pdf
PDF
Critico_o_creativo_Approcci_al_testo_let.pdf
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
PPTX
San Giovanni Eudes, 1601 – 1680, sacerdote e fondatore francese.pptx
PDF
Presentazione di Chimica sui Coloranti Alimentari
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
PPTX
Santa Rosa da Lima, Vergine, Penitente, Terziaria Domenicana 1586-1617.pptx
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
Presentazione educazione finanziaria e informazione.pdf
Critico_o_creativo_Approcci_al_testo_let.pdf
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
San Giovanni Eudes, 1601 – 1680, sacerdote e fondatore francese.pptx
Presentazione di Chimica sui Coloranti Alimentari
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
Santa Rosa da Lima, Vergine, Penitente, Terziaria Domenicana 1586-1617.pptx
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...

Data mining 04-funzionicustom-classioggetti

  • 1. Corso Python e R per Data Mining giugno - luglio 2017 Custom function
  • 2. 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
  • 3. Funzioni: dichiarazione def NomeFunzione(P1, P2,…….PN) : Istruzione 1 Istruzione 2 ……………. Istruzione R return O1, O2,..... OM indentazione INPUT (parametri) OUTPUT (risultato)
  • 4. Funzioni: chiamata (esecuzione) R1, R2, … RM = NomeFunzione(A1, A2,…….AN) INPUT (argomenti) OUTPUT (assegnazione)
  • 5. 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
  • 6. 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
  • 7. 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)
  • 9. 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 1 call 2 call n return 2 return 1 return n Questa funzione chiama recorsivamente se stessa fino a che N è uguale a zero. Quindi assegna ricorsivamente il valore R alla chiamante
  • 10. Corso Python e R per Data Mining giu-lug 2017 PYTHON BASE Classi e oggetti
  • 11. Classi e oggetti Classe Oggetto Istanziare un nuovo oggetto dalla classe…...
  • 13. Programmazione ad oggetti Programmare ad oggetti significa disegnare le diverse classi, definendo i loro attributi e i loro metodi. Quindi utilizzare le classi per istanziare gli oggetti desiderati. Una volta instanziati, gli oggetti avranno vita propria. In particolare potranno essere modificati in modo dinamico i loro attributi.
  • 14. Attributi e metodi Gli strumenti/documenti contenuti nella cassetta/schedario possono essere di due tipi: Gli attributi sono dei dati (informazioni) che può essere utile tenere nella cassetta/schedario ATTRIBUTI METODI I metodi sono gli strumenti con i quali si possono compiere delle azioni. I metodi possono essere considerati delle funzioni utili per il dato contesto in cui è utilizzata la cassetta/schedario.
  • 15. Classi e oggetti: un esempio Classe Oggetto class AnnualTS: '''La Classe AnnualTS serve ad istanziare un oggetto per la gestione/descrizione di una serie storica. ''' def __init__(BASE, START, END, DATA): BASE.LYEAR = [I for I in range(START,END+1)] BASE.DATA = DATA BASE.TS= dict(zip(BASE.LYEAR,BASE.DATA)) def __str__(BASE): STR="" for YEAR in BASE.LYEAR: STR=STR+'Anno {0}: {1} n'.format( YEAR,BASE.TS[YEAR]) return STR TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33]) TS1.TS print(TS1)
  • 16. Classi ed oggetti: un esempio def mean(BASE): SUM=0 LNUM=0 for YEAR in BASE.LYEAR: SUM=SUM+BASE.TS[YEAR] LNUM +=1 RIS=1.0*SUM/LNUM return RIS def max(BASE): MAX=0 for YEAR in BASE.LYEAR: if BASE.TS[YEAR]>MAX: MAX=BASE.TS[YEAR] return MAX Classe Oggetto TS1.mean() TS1.max()
  • 18. Alcuni esempi di classi e oggetti Modulo Numpy Modulo Pandas Series Ndarray Array DataFrame
  • 20. Analisi di un oggetto Shell ipython Celle jupyter dir(Object) dir(Object) Object.method?? Object? %pdoc Object %pinfo Object lista componenti descrizione contenuti %pfile Object
  • 21. CONTATTI TELEFONO 051 22 35 20 EMAIL WORKSHOP@VICEM.IT