Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
OOP in Python - 2026 Masterclass
Highest Rated
Rating: 4.6 out of 5(12 ratings)
107 students

OOP in Python - 2026 Masterclass

Esplora le profondità della Programmazione Orientata agli Oggetti in Python
Created byDario Festa
Last updated 1/2026
Italian
Italian [Auto],

What you'll learn

  • Comprendere l’essenza della programmazione orientata agli oggetti
  • Namespace delle istanze e delle classi
  • Metodi di istanza, statici e di classe
  • Properties: Approfondire le proprietà e gestire gli attributi in modo avanzato
  • Ereditarietà (Inheritance) singola: Costruire gerarchie di classi utilizzando l’ereditarietà.
  • I metodi dunder per personalizzare le nostre classi
  • Slots
  • Dataclasses
  • Enumerazioni
  • Descrittori e il protocollo Descrittore

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

8 sections86 lectures6h 10m total length
  • Intro0:54
  • --APPUNTI DELLA SEZIONE--0:07

    Notebook (Jupyter e in formato pdf) con il codice visto durante le lezioni di questa sezione.

  • Cosa si intende per OOP e i suoi vantaggi2:18
  • OOP - alcune definizioni e concetti base7:44
  • type di una classe2:07
  • Attributi e namespace di classe7:14
  • Attributi di classe vs Attributi di istanza0:22
  • Funzioni vs Metodi6:35
  • Il metodo inizializzatore __init__3:39
  • Overview sui metodi: di istanza, di classe e statici6:26
  • Default arguments per i metodi0:13
  • Strutture dati mutabili e attributi di classe2:02
  • Scope di una classe6:04
  • Attributi e metodi: Recap tramite un esempio0:23
  • Progettino: requisiti5:18

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

  • Progettino: Soluzione parte prima5:24
  • Progettino: Soluzione parte seconda12:10
  • Le basi: Esercizio 1
  • Le basi: Esercizio 1 - soluzione0:02
  • Le basi: Esercizio 2
  • Le basi: Esercizio 2 - soluzione0:01
  • Le basi: Esercizio 3
  • Le basi: Esercizio 3 - soluzione0:04
  • Le basi: Esercizio 4
  • Le basi: Esercizio 4 - soluzione0:06
  • Le basi: Esercizio 5
  • Le basi: Esercizio 5 - soluzione0:07
  • Le basi: Esercizio 6
  • Le basi: Esercizio 6 - soluzione0:10
  • Le basi: Esercizio 7
  • Le basi: Esercizio 7 - soluzione0:05

    Soluzione dell'esercizio 7

Requirements

  • ll corso copre sia argomenti di base che avanzati. Pertanto, è consigliabile avere almeno un livello intermedio di conoscenza di Python.
  • Esposizione pregressa ai concetti dell’OOP

Description

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:

  1. Le Basi della Programmazione Orientata agli Oggetti: Scopri come creare classi, oggetti e metodi, e comprendi l’essenza della programmazione orientata agli oggetti.

  2. Properties - Oltre gli Attributi Semplici: Approfondisci le proprietà e impara a gestire gli attributi in modo più sofisticato.

  3. Dunder Methods: Esplora i dunder methods (metodi speciali) e sfrutta il loro potenziale per personalizzare il comportamento delle tue classi.

  4. Inheritance (Ereditarietà') : Costruisci Gerarchie: Costruisci gerarchie di classi utilizzando l’ereditarietà e crea relazioni tra le tue entità.

  5. Dataclasses: Utilizza le dataclasses per strutturare i tuoi dati in modo efficiente e leggibile.

  6. Enumerazioni: Organizza costanti e opzioni con le enumerations, rendendo il tuo codice più chiaro e manutenibile.

  7. 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!


Who this course is for:

  • Sviluppatori con un background in Python che vogliono sviluppare una conoscenza profonda della programmazione ad oggetti