11class 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