SlideShare a Scribd company logo
Corso Data Journalist gen-mar 2017
PYTHON ADVANCED
Classi e oggetti
Una visione d’insieme
Oggetti built-in
Non iterable Iterable
int
float
N1=10
F1=10.2
Attributi
N1.denominator
N1.numerator
N1.imag
N1.real
Attributi
F1.imag
F1.real
Funzioni
F1.hex()
F1.fromhex()
str S1='Bologna' S1[2]
Slicing
list L1=['A','B','C'] L1[2]
tupla T1=('A','B','C') T1[2]
set T1={'A','B','C'}
dict D1={'A':10,
'B':20,'C':30}
D1['A']
Attributi
Nessuno
Nessuno
Nessuno
Nessuno
Nessuno
Funzioni
Spec.
Spec.
Spec.
Spec.
Spec.
Oggetti custom: definizione di una classe
class AnnualTS:
'''La Classe AnnualTS serve ad istanziare un oggetto
per la gestione/descrizione di una serie storica
annuale.
'''
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
def Max(BASE):
''' Metodo per calcolare il massimo
di una serie storica
'''
MAX=0
for YEAR in BASE.LYEAR:
if BASE.TS[YEAR]>MAX:
MAX=BASE.TS[YEAR]
return MAX
Attributi Metodi
Oggetti custom: istanza di una classe
TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33])
Attributi
TS1.LYEAR
TS1.DATA
YS1.TS
Metodi
TS1.Max()
-------
TS1.__init__()
TS1.__str__()
Oggetti custom inseriti in oggetti built-in iterable -1
TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33])
TS2=AnnualTS(2005, 2010, [122,133,142,134,128,133])
L1=[TS1,TS2]
Dati 2 oggetti custom
E’ possibile inserirli in una lista
La sintassi per calcolare il massimo della prima serie è:
L1[0].Max()
Oggetti custom inseriti in oggetti built-in iterable -2
TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33])
TS2=AnnualTS(2005, 2010, [122,133,142,134,128,133])
D1={'A':TS1,'B':TS2}
Dati 2 oggetti custom
E’ possibile inserirli in un dizionario
La sintassi per calcolare il massimo della prima serie è:
D1['A'].Max()
Oggetti custom inseriti in oggetti built-in iterable -3
S1=pandas.Series([22,33,42,34,28,33])
S2=pandas.Series([122,133,142,134,128,133])
L1=[S1,S2]
Dati 2 oggetti Series di pandas
E’ possibile inserirli in una lista
La sintassi per calcolare il massimo
della prima serie è:
L1[0].max()
La sintassi per estrarre il terzo valore
della prima serie è:
L1[0].values[2]
Oggetti custom inseriti in oggetti built-in iterable -4
import matplotlib.pyplot as plt
PL1=S1.plot()
plt.show()
Il metodo plot di pandas restituisce un oggetto matplotlib.axes.AxesSubplot
La sintassi per estratte dall'oggetto PL1, il testo della label del 4 tick dell'asse
x, è
PL1 .xaxis .get_ticklabels() [3] .get_text()
attributo oggetto
list oggetto
str
metodo metodo
Oggetti custom inseriti in oggetti built-in iterable -5
DF=pandas.DataFrame({'V1':[2,3,2,3,3],'V2':[4,5,4,8,5]})
PL1=DF.plot()
plt.show()
Il metodo plot di pandas restituisce un oggetto matplotlib.axes.AxesSubplot
La sintassi per estratte dall'oggetto PL1, il testo che descrive la seconda
componente della legenda, è
PL1 .get_legend() .get_texts() [1] .get_text()
oggetto
list oggetto
str
metodo metodometodo
Catene di oggetti
Oggetto A
Attributo
Metodi
Oggetto B
Attributo
Metodi
Oggetto C
Attributo
Metodi
CONTATTI TELEFONO
051 22 35 20
EMAIL
WORKSHOP@VICEM.IT

More Related Content

Viewers also liked

Python advanced 08-gis
Python advanced 08-gisPython advanced 08-gis
Python advanced 08-gis
Studiabo
 
Web advanced-02-jquery
Web advanced-02-jqueryWeb advanced-02-jquery
Web advanced-02-jquery
Studiabo
 
Web base-05-js-object
Web base-05-js-objectWeb base-05-js-object
Web base-05-js-object
Studiabo
 
Google Dev Fest 2016 - Roma
Google Dev Fest 2016 - RomaGoogle Dev Fest 2016 - Roma
Google Dev Fest 2016 - Roma
gabriele nocco
 
Python base 07-classioggetti
Python base 07-classioggettiPython base 07-classioggetti
Python base 07-classioggetti
Studiabo
 
Python advanced 03-multiindex
Python advanced 03-multiindexPython advanced 03-multiindex
Python advanced 03-multiindex
Studiabo
 
Python base 10-strutturadati
Python base 10-strutturadatiPython base 10-strutturadati
Python base 10-strutturadati
Studiabo
 
Python advanced 06-matplotlib
Python advanced 06-matplotlibPython advanced 06-matplotlib
Python advanced 06-matplotlib
Studiabo
 
Web advanced-01-asincrono
Web advanced-01-asincronoWeb advanced-01-asincrono
Web advanced-01-asincrono
Studiabo
 
Python advanced 01-numpypandas
Python advanced 01-numpypandasPython advanced 01-numpypandas
Python advanced 01-numpypandas
Studiabo
 
Web base-01-html
Web base-01-htmlWeb base-01-html
Web base-01-html
Studiabo
 
Domino 1 15
Domino 1 15Domino 1 15
Domino 1 15
Progetto ArAl
 
Analisi e redesign di un social game per l'individuazione di trend
Analisi e redesign di un social game per l'individuazione di trendAnalisi e redesign di un social game per l'individuazione di trend
Analisi e redesign di un social game per l'individuazione di trendAndrea Marchetti
 
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Fondazione Istituto Tecnico Superiore J. F. Kennedy
 
Python base 01-numeristringhe
Python base 01-numeristringhePython base 01-numeristringhe
Python base 01-numeristringhe
Studiabo
 
Big Data: Analisi del Sentiment
Big Data: Analisi del SentimentBig Data: Analisi del Sentiment
Big Data: Analisi del Sentiment
Miriade Spa
 
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
Jürgen Ambrosi
 
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
Jürgen Ambrosi
 
Stelline2017 37rev
Stelline2017 37revStelline2017 37rev
Stelline2017 37rev
Università di Padova
 
Why use slideshare
Why use slideshareWhy use slideshare
Why use slideshare
Say Digital Media
 

Viewers also liked (20)

Python advanced 08-gis
Python advanced 08-gisPython advanced 08-gis
Python advanced 08-gis
 
Web advanced-02-jquery
Web advanced-02-jqueryWeb advanced-02-jquery
Web advanced-02-jquery
 
Web base-05-js-object
Web base-05-js-objectWeb base-05-js-object
Web base-05-js-object
 
Google Dev Fest 2016 - Roma
Google Dev Fest 2016 - RomaGoogle Dev Fest 2016 - Roma
Google Dev Fest 2016 - Roma
 
Python base 07-classioggetti
Python base 07-classioggettiPython base 07-classioggetti
Python base 07-classioggetti
 
Python advanced 03-multiindex
Python advanced 03-multiindexPython advanced 03-multiindex
Python advanced 03-multiindex
 
Python base 10-strutturadati
Python base 10-strutturadatiPython base 10-strutturadati
Python base 10-strutturadati
 
Python advanced 06-matplotlib
Python advanced 06-matplotlibPython advanced 06-matplotlib
Python advanced 06-matplotlib
 
Web advanced-01-asincrono
Web advanced-01-asincronoWeb advanced-01-asincrono
Web advanced-01-asincrono
 
Python advanced 01-numpypandas
Python advanced 01-numpypandasPython advanced 01-numpypandas
Python advanced 01-numpypandas
 
Web base-01-html
Web base-01-htmlWeb base-01-html
Web base-01-html
 
Domino 1 15
Domino 1 15Domino 1 15
Domino 1 15
 
Analisi e redesign di un social game per l'individuazione di trend
Analisi e redesign di un social game per l'individuazione di trendAnalisi e redesign di un social game per l'individuazione di trend
Analisi e redesign di un social game per l'individuazione di trend
 
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
 
Python base 01-numeristringhe
Python base 01-numeristringhePython base 01-numeristringhe
Python base 01-numeristringhe
 
Big Data: Analisi del Sentiment
Big Data: Analisi del SentimentBig Data: Analisi del Sentiment
Big Data: Analisi del Sentiment
 
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
2 Sessione - Macchine virtuali per la scalabilità di calcolo per velocizzare ...
 
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
 
Stelline2017 37rev
Stelline2017 37revStelline2017 37rev
Stelline2017 37rev
 
Why use slideshare
Why use slideshareWhy use slideshare
Why use slideshare
 

More from Studiabo

Big data rischi
Big data rischiBig data rischi
Big data rischi
Studiabo
 
Big data correlazioni
Big data correlazioniBig data correlazioni
Big data correlazioni
Studiabo
 
Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big Data
Studiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
Studiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
Studiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
Studiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
Studiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Studiabo
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
Studiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
Studiabo
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
Studiabo
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
Studiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
Studiabo
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
Studiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
Studiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
Studiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
Studiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Studiabo
 

More from Studiabo (20)

Big data rischi
Big data rischiBig data rischi
Big data rischi
 
Big data correlazioni
Big data correlazioniBig data correlazioni
Big data correlazioni
 
Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big Data
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 

Python advanced 20-classioggetti-sintesi

  • 1. Corso Data Journalist gen-mar 2017 PYTHON ADVANCED Classi e oggetti Una visione d’insieme
  • 2. Oggetti built-in Non iterable Iterable int float N1=10 F1=10.2 Attributi N1.denominator N1.numerator N1.imag N1.real Attributi F1.imag F1.real Funzioni F1.hex() F1.fromhex() str S1='Bologna' S1[2] Slicing list L1=['A','B','C'] L1[2] tupla T1=('A','B','C') T1[2] set T1={'A','B','C'} dict D1={'A':10, 'B':20,'C':30} D1['A'] Attributi Nessuno Nessuno Nessuno Nessuno Nessuno Funzioni Spec. Spec. Spec. Spec. Spec.
  • 3. Oggetti custom: definizione di una classe class AnnualTS: '''La Classe AnnualTS serve ad istanziare un oggetto per la gestione/descrizione di una serie storica annuale. ''' 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 def Max(BASE): ''' Metodo per calcolare il massimo di una serie storica ''' MAX=0 for YEAR in BASE.LYEAR: if BASE.TS[YEAR]>MAX: MAX=BASE.TS[YEAR] return MAX Attributi Metodi
  • 4. Oggetti custom: istanza di una classe TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33]) Attributi TS1.LYEAR TS1.DATA YS1.TS Metodi TS1.Max() ------- TS1.__init__() TS1.__str__()
  • 5. Oggetti custom inseriti in oggetti built-in iterable -1 TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33]) TS2=AnnualTS(2005, 2010, [122,133,142,134,128,133]) L1=[TS1,TS2] Dati 2 oggetti custom E’ possibile inserirli in una lista La sintassi per calcolare il massimo della prima serie è: L1[0].Max()
  • 6. Oggetti custom inseriti in oggetti built-in iterable -2 TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33]) TS2=AnnualTS(2005, 2010, [122,133,142,134,128,133]) D1={'A':TS1,'B':TS2} Dati 2 oggetti custom E’ possibile inserirli in un dizionario La sintassi per calcolare il massimo della prima serie è: D1['A'].Max()
  • 7. Oggetti custom inseriti in oggetti built-in iterable -3 S1=pandas.Series([22,33,42,34,28,33]) S2=pandas.Series([122,133,142,134,128,133]) L1=[S1,S2] Dati 2 oggetti Series di pandas E’ possibile inserirli in una lista La sintassi per calcolare il massimo della prima serie è: L1[0].max() La sintassi per estrarre il terzo valore della prima serie è: L1[0].values[2]
  • 8. Oggetti custom inseriti in oggetti built-in iterable -4 import matplotlib.pyplot as plt PL1=S1.plot() plt.show() Il metodo plot di pandas restituisce un oggetto matplotlib.axes.AxesSubplot La sintassi per estratte dall'oggetto PL1, il testo della label del 4 tick dell'asse x, è PL1 .xaxis .get_ticklabels() [3] .get_text() attributo oggetto list oggetto str metodo metodo
  • 9. Oggetti custom inseriti in oggetti built-in iterable -5 DF=pandas.DataFrame({'V1':[2,3,2,3,3],'V2':[4,5,4,8,5]}) PL1=DF.plot() plt.show() Il metodo plot di pandas restituisce un oggetto matplotlib.axes.AxesSubplot La sintassi per estratte dall'oggetto PL1, il testo che descrive la seconda componente della legenda, è PL1 .get_legend() .get_texts() [1] .get_text() oggetto list oggetto str metodo metodometodo
  • 10. Catene di oggetti Oggetto A Attributo Metodi Oggetto B Attributo Metodi Oggetto C Attributo Metodi
  • 11. CONTATTI TELEFONO 051 22 35 20 EMAIL WORKSHOP@VICEM.IT