Menu
Coddy logo textTech

Atributos

Parte de la sección Object Oriented Programming 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 clase

Atributos 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 instancia

Crea objetos de 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)     # 20

Acceder 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 Academy

Salida:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Diferencia 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 simplemente attribute_name para los atributos de clase.

Hoja de referencia

Los atributos son datos o variables que pertenecen a una clase o a sus objetos.

Atributos de clase - compartidos por todos los objetos de la clase:

class Student:
    school_name = "Python Academy"  # atributo de clase

Atributos de instancia - únicos para cada objeto, definidos usando self:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # atributo de instancia
        self.age = age      # atributo de instancia

Acceder a los atributos de instancia:

student1 = Student()
student1.set_info("Alice", 20)
print(student1.name)    # Alice

Acceder a los atributos de clase:

print(student1.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Object Oriented Programming