Attributi
Fa parte della sezione Programmazione orientata agli oggetti del percorso Python di Coddy. Lezione 6 di 64.
Gli attributi sono dati o variabili che appartengono a una classe o ai suoi oggetti. Memorizzano informazioni sullo stato dell'oggetto.
Esistono due tipi di attributi:
Attributi di classe - condivisi da tutti gli oggetti della classe:
class Student:
school_name = "Python Academy" # attributo di classeAttributi di istanza - univoci per ogni oggetto:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # attributo di istanza
self.age = age # attributo di istanzaCrea oggetti studente e imposta i relativi dati individuali:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Accedi agli attributi di istanza (univoci per ogni oggetto):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Accedi agli attributi della classe (uguali per tutti gli oggetti):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademyOutput:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyDifferenza fondamentale: gli attributi di classe sono condivisi da tutti gli oggetti, mentre gli attributi di istanza sono unici per ogni oggetto. Usa self.attribute_name per gli attributi di istanza e semplicemente attribute_name per gli attributi di classe.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti di OOP
File esterniIntroduzione a OOPClassi vs. oggettiIl parametro selfMetodiAttributiMetodo costruttore (__init__)Riepilogo - Calcolatrice semplice4Ereditarietà
Ereditarietà di baseLa funzione super()Sovrascrittura dei metodiEreditarietà multiplaOrdine di risoluzione dei metodiRiepilogo - Gerarchia dei dipendenti7Metodi speciali
Introduzione ai metodi magiciSovraccarico degli operatoriMetodi magici dei contenitoriRiepilogo - Lista personalizzata10Modelli di progettazione Parte 1
Introduzione ai modelli di progettazioneModello SingletonModello FactoryModello ObserverModello Strategy2Decoratori
Introduzione ai decoratoriDecoratore di proprietàDecoratore di metodo staticoDecoratore di metodo di classe5Polimorfismo
Ripasso dell'override dei metodiDuck typingClassi e metodi astrattiProgettazione delle interfacceRiepilogo - Calcolatore di forme8Concetti avanzati di OOP
Composizione vs ereditarietàMixinMetodi statici e di classeDecorator di classeContext manager11Pattern di progettazione - Parte 2
Pattern dei comandiPattern adattatorePattern decoratorePattern metodo templatePattern statoPattern composito3Proprietà delle classi
Variabili di istanza e di classeDecorator delle proprietàAttributi privatiRiepilogo - Gestore di conti bancari6Incapsulamento
Membri pubblici, protetti e privatiModificatori di accessoOccultamento delle informazioniDecorator delle proprietà: avanzatiRipasso - Sistema di registri degli studenti12Progetto: Gestione della biblioteca
Panoramica del progettoClassi Libro e UtenteSistema di prestitoFunzionalità di ricercaInterfaccia amministratoreTest e integrazioneEsercitati da solo: Compilatore Python online