Atributos
Parte de la sección Programación orientada a objetos del Journey de Python de Coddy. Lección 6 de 64.
Los atributos son datos o variables que pertenecen a una clase o a sus objetos. Almacenan información sobre el estado del objeto.
Hay dos tipos de atributos:
Atributos de clase - compartidos por todos los objetos de la clase:
class Student:
school_name = "Python Academy" # atributo de claseAtributos de instancia - únicos para cada objeto:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # atributo de instancia
self.age = age # atributo de instanciaCrea objetos estudiante y establece sus datos individuales:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Accede a los atributos de instancia (únicos para cada objeto):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Accede a los atributos de clase (iguales para todos los objetos):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademySalida:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyDiferencia clave: los atributos de clase son compartidos por todos los objetos, mientras que los atributos de instancia son únicos para cada objeto. Usa self.attribute_name para los atributos de instancia y solo attribute_name para los atributos de clase.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación orientada a objetos
1Fundamentos de la POO
Introducción a la POOArchivos externosClases vs. objetosEl parámetro selfMétodosAtributosMétodo constructor (__init__)Repaso: calculadora sencilla4Herencia
Herencia básicaLa función super()Sobrescritura de métodosHerencia múltipleOrden de resolución de métodosRepaso: jerarquía de empleados7Métodos especiales
Introducción a los métodos mágicosSobrecarga de operadoresMétodos mágicos de contenedoresRepaso: lista personalizada10Patrones de diseño, parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy2Decoradores
Introducción a los decoradoresDecorador de propiedadDecorador de método estáticoDecorador de método de clase5Polimorfismo
Repaso de la sobrescritura de métodosTipado patoClases y métodos abstractosDiseño de interfacesRepaso: calculadora de formas8Conceptos avanzados de POO
Composición frente a herenciaMixinsMétodos estáticos y de claseDecoradores de claseGestores de contexto11Patrones de diseño, parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón Composite3Propiedades de clase
Variables de instancia vs. variables de claseDecoradores de propiedadesAtributos privadosRepaso: gestor de cuentas bancariasPractica por tu cuenta: Compilador de Python online