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 classeAtributos 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ânciaCrie 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) # 20Acesse 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 AcademySaída:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyDiferenç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 classeAtributos 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ânciaAcessar atributos de instância:
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # AliceAcessar atributos de classe:
print(student1.school_name) # Python Academy
print(Student.school_name) # Python AcademyExperimente você mesmo
Esta lição não inclui um desafio de código.
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
1Fundamentos de POO
Arquivos ExternosIntrodução à POOClasses vs ObjetosO Parâmetro selfMétodosAtributosMétodo Construtor (__init__)Recapitulação - Calculadora Simples4Herança
Herança BásicaA Função super()Sobrescrita de MétodoHerança MúltiplaOrdem de Resolução de MétodosRecapitulação - Hierarquia de Funcionários7Métodos Especiais
Introdução aos Métodos MágicosSobrecarga de OperadoresMétodos Mágicos de ContêinerRecapitulação - Lista Personalizada10Padrões de Projeto Parte 1
Introdução a Padrões de ProjetoPadrão SingletonPadrão FactoryPadrão ObserverPadrão Strategy2Decoradores
Introdução aos DecoradoresDecorador de PropriedadeDecorador de Método EstáticoDecorador de Método de Classe5Polimorfismo
Sobrescrita de Método RevisitadaDuck TypingClasses e Métodos AbstratosDesign de InterfacesRecapitulação - Calculadora de Formas8Conceitos Avançados de POO
Composição vs HerançaMixinsMétodos Estáticos e de ClasseDecoradores de ClasseGerenciadores de Contexto11Padrões de Projeto Parte 2
Padrão CommandPadrão AdapterPadrão DecoratorPadrão Template MethodPadrão StatePadrão Composite3Propriedades de Classe
Variáveis de Instância vs de ClasseDecoradores de PropriedadeAtributos PrivadosRecapitulação - Gerenciador de Conta Bancária6Encapsulamento
Membros Públicos, Protegidos e PrivadosModificadores de AcessoOcultação de InformaçãoProperty Decorators AvançadosRecapitulação - Sistema de Registro de Alunos12Projeto: Gerenciamento de Biblioteca
Visão Geral do ProjetoClasses Livro e Usuário