Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esame Computer Science bocconi 30424 Sequenze stringhe, liste, tuple e dizionari in Python, Appunti di Informatica gestionale

Riassunto approfondito su tutte le sequenze in Python, ideale per padroneggiare le operazioni fondamentali: Stringhe e metodi associati (find, upper, split, join...) Liste: append, pop, indexing, slicing, sort Tuple: immutabilità e metodi Dizionari: chiavi, valori, metodi principali (get, pop, keys, values) Perfetto per preparare quiz, esercizi e domande pratiche del corso CS 30424.

Tipologia: Appunti

2024/2025

In vendita dal 18/07/2025

iacop00
iacop00 🇮🇹

3.8

(5)

278 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
TERZA PARTE
OGGETTI: CLASSI, METODI E ATTRIBUTI
NOZIONI ALLA BASE
Classe
- “Insieme di oggetti astratti poiché spogliati delle qualificazioni di determinati parametri comuni
(attributi) e azioni comuni (metodi)”
-Esempio: riferendosi a una palla si pensa istintivamente ad un oggetto di forma circolare, senza
declinare gli attributi propri della classe (materiale, peso, colore) e i metodi (modo di calciare il
pallone)
Istanza
- “Caso specifico della classe, che prevede la specificazione dei parametri variabili e l’eredità dei
metodi”
-N.B.: solamente le istanze della classe hanno accesso agli attributi definiti all’interno della
classe
-Esempi:
CREAZIONE DELLA CLASSE
Linee guida
- Per creare una classe è necessario assegnarle un nome e definirne gli attributi e i metodi
- Sintassi generale
oIntestazione: keyword “class”; nome della classe con iniziale maiuscola (segue regole di
inizializzazione delle variabili); parentesi tonde vuote; due punti
oBlocco di codice indentato
Docstring
Metodo costruttore
Altri metodi
Docstring
- Posizione:
oSe commenti della classe: prima istruzione del blocco
oSe dei metodi: prima istruzione del metodo
- Utilità: compaiono con la funzione help e nei call tip
1
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Esame Computer Science bocconi 30424 Sequenze stringhe, liste, tuple e dizionari in Python e più Appunti in PDF di Informatica gestionale solo su Docsity!

TERZA PARTE

OGGETTI: CLASSI, METODI E ATTRIBUTI

NOZIONI ALLA BASE

Classe

  • “Insieme di oggetti astratti poiché spogliati delle qualificazioni di determinati parametri comuni (attributi) e azioni comuni (metodi)”
  • Esempio : riferendosi a una palla si pensa istintivamente ad un oggetto di forma circolare, senza declinare gli attributi propri della classe (materiale, peso, colore) e i metodi (modo di calciare il pallone)  Istanza
  • “Caso specifico della classe, che prevede la specificazione dei parametri variabili e l’eredità dei metodi”
  • N.B. : solamente le istanze della classe hanno accesso agli attributi definiti all’interno della classe
  • Esempi : CREAZIONE DELLA CLASSE  Linee guida
  • Per creare una classe è necessario assegnarle un nome e definirne gli attributi e i metodi
  • Sintassi generale o Intestazione: keyword “class”; nome della classe con iniziale maiuscola (segue regole di inizializzazione delle variabili); parentesi tonde vuote; due punti o Blocco di codice indentato  Docstring  Metodo costruttore  Altri metodi  Docstring
  • Posizione: o Se commenti della classe: prima istruzione del blocco o Se dei metodi: prima istruzione del metodo
  • Utilità: compaiono con la funzione help e nei call tip

Metodi

  • Osservazione : si ricorda che i metodi sono funzioni specifiche di un qualche oggetto; quindi, o Devono essere inizializzate con la keyword “def” come fossero una funzione personalizzata o Possono essere produttivi, o meno
  • Sintassi generica o Intestazione  Keyword “def”; nome del metodo ; parentesi tonde con parametri obbligatori e opzionali  Parametro self  Parametro obbligatorio da scrivere sempre come prima voce nelle parentesi tonde di ogni metodo  Motivo: per accedere al valore degli attributi è necessario utilizzare la dot notation; quindi, rappresenta il segnaposto per il futuro nome dell’istanza  Due punti o Blocco sottostante indentato
  • Metodo init o Utilità, si consideri seguente procedimento:  Creazione di un’istanza della classe persona: >>> Luca = Persona()  In seguito alla creazione dell’istanza, Python chiama automaticamente il metodo init della classe, in modo da assegnare alla nuova istanza gli attributi propri della classe, indentati sotto init o Sintassi specifica  Intestazione: “def”; init ; parentesi tonde con primo parametro self ed eventuali parametri obbligatori e opzionali; due punti  Blocco di codice indentato  Attributi variabili per customizzare le singole istanze  N.B. : il metodo init non è una funzione produttiva, ma serve solo ad associare gli attributi della classe alle nuove istanze; quindi, non contiene l’istruzione return o Personalizzazione degli attributi  Linea guida: all’interno delle parentesi tonde, oltre al parametro obbligatorio self, è possibile inserire parametri che rappresentino il valore di attributi  Utilità: personalizzare gli attributi durante la fase di creazione dell’istanza, ed eventualmente modificarli in un secondo momento  N.B. :  Parametri di init non presenti nel blocco sottostante: una volta passato un valore a questi parametri, non sarà possibile riutilizzarlo di seguito come attributo di istanza  Attributi non presenti nei parametri di init: l'attributo non può essere inizializzato direttamente al momento della creazione dell'istanza ed assume un valore predefinito o Operazioni particolari: all’interno del metodo init è possibile specificare a Python che azioni compiere nel caso in cui un attributo assuma un determinato valore

EREDITARIETÀ

 In Python è possibile creare una gerarchia di classi della forma top - down, in modo che metodi & attributi della parent class siano ereditati tutti dalle child class  Ereditarietà singola

  • “La child class eredita tutti i metodi & tutti gli attributi da una sola parent class, precedentemente definita”
  • Sintassi o Intestazione: keyword “def”; nome della child class; nome della parent class all’interno delle parentesi; due punti o Blocco di codice  Metodo init della child class  Gli attributi della parent class devono essere tutti riscritti solamente come parametri del moto init, poiché vengono tutti ereditati  Utilità: una volta creata l’istanza della child class, il metodo init della child class associa alla nuova istanza parametri già inizializzati e alcuni nuovi, che saranno i soli ad essere riportati nel blocco indentato  Metodo init parent class  Prima linea di codice del blocco indentato del metodo init  Utilità: modo di importare gli attributi già scritti nella parent class, senza doverli riscrivere  attributo di istanza esclusivo della child class è come se fosse l’ultimo ad essere scritto, preceduto da quelli della parent class, tutti racchiusi nel metodo init della parent class  Sintassi: parent_class.init(self, parametri_init_parentclass) N.B. : scrivendo il metodo init della parent class, come prima linea di codice del metodo init della child class, si importano anche tutti i metodi, poiché sono basati sugli attributi dell’istanza che vengono associati proprio dal metodo init
  • Funzioni della child class o Eredita tutti gli attributi e metodi della parent class o Aggiunge più attributi e metodi esclusivi della child class o Sovrascrivere i metodi della parent class: se non riscritti, allora vengono importati nella child class automaticamente; altrimenti, vengono modificati Osservazione : l’istanza Luca della child class Studente possiede sia il metodo “indice_massa_corporea” che il metodo “saluto”; tuttavia, il metodo speciale str non viene mantenuto uguale, in quanto è stato sovrascritto

Classe capostipite object

  • “Classe su cui si basa ogni altra classe; quindi, in un certo senso, anche le parent class sono delle child class della classe capostipite”
  • Scrivere class Persona ( ) equivale a scrivere class Persona (object)
  • Conseguenze o Omissione del metodo init: in questo caso, Python utilizza il metodo init della classe capostipite o Omissione del metodo str:  Importanza di str: consente di visualizzare a schermo tutti gli attributi di istanza mediante la funzione print  N.B. : in caso di omissione, la funzione print applicata sull’istanza restituisce l’indirizzo di memoria dell’istanza creata, poiché il metodo str di object restituisce tale dato