Skip to content

Commit db70e63

Browse files
Criado Atributo de Classe
1 parent 9b2e9b8 commit db70e63

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

oo/pessoa.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
class Pessoa:
2+
olhos = 2 # O Atributo 'olhos' é comum a todas as Instâncias
3+
# e por isto deve ser usado separadamente, i.e., fora
4+
# do Método ('dunder_init') que compreende o escopo dos
5+
# Objetos que compõem a Classe
6+
27
def __init__ (self, *filhos, nome=None, idade=35):
38
self.filhos = list(filhos)
49
self.nome = nome
@@ -19,8 +24,20 @@ def cumprimentar(self):
1924
print(filho.nome) # Imprime todos os Atributos 'nome' de 'luciano.filhos'
2025
luciano.sobrenome = 'Ramalho' # Atributo criado em Tempo de Execução (fora do 'dunder_init')
2126
print(luciano.sobrenome)
22-
print(luciano.__dict__) # 'dunder_dict' mostra todos os Atributos de Instância de um Objeto
23-
print(renzo.__dict__) # Os criados no '__init__' e os criados dinamicamente
27+
print(luciano.__dict__) # 'dunder_dict' mostra todos os Atributos de Instância de um Objeto...
28+
print(renzo.__dict__) # ... os criados no '__init__' e os criados dinamicamente
2429
del luciano.filhos # Exclusão do Atributo 'filhos' do Objeto 'luciano'
2530
print(luciano.__dict__) # Mostra os Atributos do Objeto 'luciano' MENOS o que foi deletado ('filhos')
26-
print(renzo.__dict__)
31+
print(renzo.__dict__)
32+
print(Pessoa.olhos) # Acessando o Atributo da Classe
33+
print(luciano.olhos) # Acessando o mesmo Atributo via Objeto 'luciano'
34+
print(renzo.olhos) # Acessando o mesmo Atributo via Objeto 'renzo'
35+
print(id(Pessoa.olhos), id(luciano.olhos), id(renzo.olhos)) # Mostra que o MESMO Objeto está sendo acessado
36+
luciano.olhos = 1 # Alteração do Atributo 'olhos' para o Objeto 'luciano' (afeta o 'dunder_dict')
37+
print(luciano.__dict__) # 'dunder_dict' mostra todos os Atributos de Instância de um Objeto...
38+
print(renzo.__dict__) # ... os criados no '__init__' e os criados dinamicamente
39+
print(Pessoa.olhos) # Acessando o Atributo da Classe
40+
print(luciano.olhos) # Acessando o mesmo Atributo via Objeto 'luciano' (após alteração do Atributo 'olhos'
41+
print(renzo.olhos) # Acessando o mesmo Atributo via Objeto 'renzo'
42+
print(id(Pessoa.olhos), id(luciano.olhos), id(renzo.olhos)) # Mostra outro 'id' para o Objeto 'luciano'
43+

0 commit comments

Comments
 (0)