Python base lezione 5

12
PYTHON BASE Classi e oggetti

Transcript of Python base lezione 5

Page 1: Python base lezione 5

PYTHON BASE

Classi e oggetti

Page 2: Python base lezione 5

Classi e oggetti

Classe Oggetto

Istanziare un nuovo oggetto dalla classe…...

Page 3: Python base lezione 5

Oggetti

Cassetta di attrezzi Schedario

Page 4: Python base lezione 5

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 istanziati, gli oggetti avranno vita propria. In particolare potranno essere modificati in modo dinamico i loro attributi.

Page 5: Python base lezione 5

Attributi e metodiGli 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.

Page 6: Python base lezione 5

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)

Page 7: Python base lezione 5

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()

Page 8: Python base lezione 5

LEZIONE 1..www.fordatascientist.org

B00-PyBaseB80-ClassObject

Page 9: Python base lezione 5

Analisi di un oggetto

Shell ipython Celle jupyter

div(Object) div(Object)

Object.method??

Object?%pdoc Object

%pinfo Object

lista componenti

descrizione

contenuti %pfile Object

Page 10: Python base lezione 5

LEZIONE 1..www.fordatascientist.org

B00-PyBaseB71-DateTime

Page 11: Python base lezione 5

LEZIONE 1..www.fordatascientist.org

B00-PyBaseB32-Data-Structures-Other

Page 12: Python base lezione 5

CONTATTI TELEFONO

051 22 35 20

EMAIL [email protected]