Menu
Coddy logo textTech

Atributos

Parte da seção Object Oriented Programming do Journey de Python da Coddy — lição 6 de 64.

Atributos são dados ou variáveis que pertencem a uma classe ou aos seus objetos. Eles armazenam informações sobre o estado do objeto.

Existem dois tipos de atributos: 

Atributos de classe - compartilhados por todos os objetos da classe:

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

Atributos de instância - únicos para cada objeto:

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

Crie objetos de estudantes e defina seus dados individuais:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

Acesse os atributos de instância (únicos para cada objeto):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

Acesse atributos de classe (iguais para todos os objetos):

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

Saída:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Diferença Principal: Atributos de classe são compartilhados por todos os objetos, enquanto atributos de instância são únicos para cada objeto. Use self.attribute_name para atributos de instância e apenas attribute_name para atributos de classe.

Folha de consulta

Atributos são dados ou variáveis que pertencem a uma classe ou aos seus objetos.

Atributos de classe - compartilhados por todos os objetos da classe:

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

Atributos de instância - únicos para cada objeto, definidos usando self:

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

Acessar atributos de instância:

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

Acessar atributos de classe:

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

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Object Oriented Programming