Conteúdo do Curso
Programação Orientada a Objetos em Python Avançado
Programação Orientada a Objetos em Python Avançado
Atributos
Sobre Atributos
Na programação orientada a objetos, atributos são variáveis que estão associadas a uma classe ou instância. Eles podem armazenar valores de dados ou outros objetos.
Pode-se acessar um atributo utilizando o nome da classe ou da instância seguido de um ponto .
e o nome do atributo.
Vamos considerar um exemplo de criação de atributos para a classe User
. Os atribitos serão username
e age
:
class User: username = "top_user_name" age = 20 bob = User() print(User.age) print(bob.age)
No exemplo acima, criamos atributos para nossa classe. Como você pode ver, podemos acessar o atributo da classe User
através da sua instância bob
.
Em Python, atributos podem pertencer a uma classe ou a uma instância. Para atribuir um atributo a uma instância, você pode usar uma instrução de atribuição com o nome do atributo:
class User: pass bob = User() bob.name = "Bob" print(bob.name)
Atributos de Classe e de Instância
Atributos de classe são comumente usados como constantes ou valores padrão, enquanto atributos de instância são utilizados como variáveis específicas para cada instância.
Se uma instância não possui um atributo particular, o interpretador procura por ele na definição da classe. Esse mecanismo permite que os atributos sejam compartilhados entre todas as instâncias de uma classe.
class User: name = "User" john = User() bob = User() bob.name = "Bob" print("john.name =", john.name) print("bob.name =", bob.name)
No exemplo acima, criamos duas instâncias (john
e bob
) da classe User
. Atribuímos um novo valor ao atributo name
da instância bob
, tornando-o seu próprio atributo de instância. A instância john
não tem seu próprio atributo de instância, então ela pega o valor de sua classe User
, o que significa que usa o atributo de classe.
Obrigado pelo seu feedback!