From 25334aa80e64986347b6cfeea81b03f684a81d61 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 1 Apr 2019 01:10:13 -0300 Subject: [PATCH 1/5] Criada a classe Pessoa --- OO/__init__.py | 0 OO/pessoa.py | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 OO/__init__.py create mode 100644 OO/pessoa.py diff --git a/OO/__init__.py b/OO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/OO/pessoa.py b/OO/pessoa.py new file mode 100644 index 000000000..eb7c0a9c1 --- /dev/null +++ b/OO/pessoa.py @@ -0,0 +1,2 @@ +class Pessoa: + pass From 8250978232d55a7a9c3a8b0076368eb3c38396e9 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 1 Apr 2019 01:32:48 -0300 Subject: [PATCH 2/5] =?UTF-8?q?Criado=20m=C3=A9todo=20complementar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OO/pessoa.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OO/pessoa.py b/OO/pessoa.py index eb7c0a9c1..10bfa284b 100644 --- a/OO/pessoa.py +++ b/OO/pessoa.py @@ -1,2 +1,10 @@ class Pessoa: - pass + def cumprimentar(self): + return f'Olá {id(self)}' + + +if __name__ == '__main__': + p = Pessoa() + print(Pessoa.cumprimentar(p)) + print(id(p)) + print(p.cumprimentar()) \ No newline at end of file From 06d6aea1e29a3796e2fdd4cad282655f87eea221 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 1 Apr 2019 01:51:36 -0300 Subject: [PATCH 3/5] Criado atributo de instancia nome e idade --- OO/pessoa.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/OO/pessoa.py b/OO/pessoa.py index 10bfa284b..6e9be8605 100644 --- a/OO/pessoa.py +++ b/OO/pessoa.py @@ -1,10 +1,18 @@ class Pessoa: + def __init__(self,nome=None, idade=35): + self.nome = nome + self.idade = idade + def cumprimentar(self): return f'Olá {id(self)}' if __name__ == '__main__': - p = Pessoa() + p = Pessoa('André') print(Pessoa.cumprimentar(p)) print(id(p)) - print(p.cumprimentar()) \ No newline at end of file + print(p.cumprimentar()) + print(p.nome) + p.nome = 'Victor' + print(p.nome) + print(p.idade) \ No newline at end of file From 85be1e784aa7961c7155a949afbe15e0d47ff13c Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 1 Apr 2019 02:19:32 -0300 Subject: [PATCH 4/5] Criado atributo complexo filhos --- OO/pessoa.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/OO/pessoa.py b/OO/pessoa.py index 6e9be8605..5a28289a5 100644 --- a/OO/pessoa.py +++ b/OO/pessoa.py @@ -1,18 +1,21 @@ class Pessoa: - def __init__(self,nome=None, idade=35): + def __init__(self,*filhos, nome=None, idade=35): self.nome = nome self.idade = idade + self.filhos = list(filhos) def cumprimentar(self): return f'Olá {id(self)}' if __name__ == '__main__': - p = Pessoa('André') - print(Pessoa.cumprimentar(p)) - print(id(p)) - print(p.cumprimentar()) - print(p.nome) - p.nome = 'Victor' - print(p.nome) - print(p.idade) \ No newline at end of file + renzo = Pessoa(nome='Renzo') #filho atribuido ao objeto andre + andre = Pessoa(renzo, nome='Andre') + print(Pessoa.cumprimentar(andre)) + print(id(andre)) + print(andre.cumprimentar()) + #p.nome = 'Victor' + print(andre.nome) + print(andre.idade) + for filho in andre.filhos: + print(filho.nome) \ No newline at end of file From 580947da68d03a04bb6f2c18ef15f356004408ac Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 1 Apr 2019 02:35:41 -0300 Subject: [PATCH 5/5] Criado e removido atributo dinamico de objeto do tipo Pessoa --- OO/pessoa.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OO/pessoa.py b/OO/pessoa.py index 5a28289a5..528f69a74 100644 --- a/OO/pessoa.py +++ b/OO/pessoa.py @@ -18,4 +18,8 @@ def cumprimentar(self): print(andre.nome) print(andre.idade) for filho in andre.filhos: - print(filho.nome) \ No newline at end of file + print(filho.nome) + andre.sobrenome = 'Ramalho' #criação de atributo dinamico fazendo atribuição + del andre.filhos #contrário dessa operação com del + print(andre.__dict__) #os atributos de instancia ficam presentes no atributo especial dunder dict + print(renzo.__dict__) \ No newline at end of file