python advanced 20-classioggetti-sintesi
TRANSCRIPT
Corso Data Journalist gen-mar 2017
PYTHON ADVANCED
Classi e oggettiUna visione d’insieme
Oggetti built-in
Non iterable Iterable
int
float
N1=10
F1=10.2
Attributi
N1.denominator N1.numeratorN1.imagN1.real
Attributi
F1.imagF1.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])
AttributiTS1.LYEARTS1.DATAYS1.TS
MetodiTS1.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 massimodella 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 pltPL1=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 oggettolist 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()
oggettolist oggetto str
metodo metodometodo
Catene di oggetti
Oggetto A
Attributo
Metodi
Oggetto B
Attributo
Metodi
Oggetto C
Attributo
Metodi