
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
# Requisiti
Crea una classe Password che ha due attributi di istanza: *strength* and *length*.
- l'attributo *strength* puo' assumere solo due valori: 'high' e 'low'
- *length* deve essere un numero intero compreso tra 5 e 20
di default strength = 'low' e 'length' = 5
la Classe deve generare una Password che abbia le seguenti caratteristiche che dipendono dall'attributo 'strength':
- low: la password di lunghezza pari a 'length' include un mix random di sole lettere (sia minuscole che maiuscole) e numeri
- high: la password di lunghezza pari a 'length' include un mix random di lettere (sia minuscole che maiuscole), numeri e punteggiatura
Una volta generata una password, il suo valore diventa un nuovo attributo di istanza, chiamato 'password'. Cioe' appena creata una istanza questa avra' come attributi 'strength' e 'length', poi quando invoco il metodo su queste istanze per generare la password, questo andra' a creare anche l'attributo self.password (vedi esempio sotto)
La classe deve implementare un metodo di classe chiamato 'destroy' che quando invocato va a trasformare il pool di caratteri utilizzato per creare una password in una sequenza di asterischi (della stessa lunghezza del pool di caratteri)<br>
La classe deve anche implementare un metodo (non legato alla classe o alla istanza) che ogni volta che una password viene generata stampa l'ora attuale in formato "%H:%M:%S" (ore:minuti:secondi)
Soluzione dell'esercizio 7
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
Qui potete scaricare:
Notebook Jupyter con il codice visto durante le lezioni di questa sezione.
Notebook in formato pdf con il codice visto durante le lezioni di questa sezione.
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.
Padroneggia la Programmazione Orientata agli Oggetti in Python
Benvenuto nella tua avventura di programmazione orientata agli oggetti in Python! Questo corso è la tua guida completa per padroneggiare la OOP, partendo dalle basi e arrivando a concetti avanzati.
Cosa imparerai:
Le Basi della Programmazione Orientata agli Oggetti: Scopri come creare classi, oggetti e metodi, e comprendi l’essenza della programmazione orientata agli oggetti.
Properties - Oltre gli Attributi Semplici: Approfondisci le proprietà e impara a gestire gli attributi in modo più sofisticato.
Dunder Methods: Esplora i dunder methods (metodi speciali) e sfrutta il loro potenziale per personalizzare il comportamento delle tue classi.
Inheritance (Ereditarietà') : Costruisci Gerarchie: Costruisci gerarchie di classi utilizzando l’ereditarietà e crea relazioni tra le tue entità.
Dataclasses: Utilizza le dataclasses per strutturare i tuoi dati in modo efficiente e leggibile.
Enumerazioni: Organizza costanti e opzioni con le enumerations, rendendo il tuo codice più chiaro e manutenibile.
Descriptors - Tecniche Avanzate di OOP: Affronta i concetti avanzati con i descrittori, strumenti potenti per personalizzare l’accesso agli attributi.
Obiettivo finale: Diventare un esperto nella programmazione orientata agli oggetti e scrivere codice Python modulare, leggibile e riutilizzabile.
Unisciti in questa Masterclass e scopri il mondo affascinante della OOP in Python!
Sei pronto per il prossimo livello? Iscriviti ora!