From db38a7a7d8c04ca2a86e5c320b3be19a44a5b652 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 19:19:15 -0300 Subject: [PATCH 1/8] Criando a classe Pessoa --- oo/__init__.py | 0 oo/pessoa.py | 7 +++++++ 2 files changed, 7 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..bbb52d539 --- /dev/null +++ b/oo/pessoa.py @@ -0,0 +1,7 @@ +class Pessoa: + pass + +""" +To import in Python Console: +from oo.pessoa import Pessoa +""" \ No newline at end of file From 9407c593122d392dd5f0366914865449554593bc Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 19:51:42 -0300 Subject: [PATCH 2/8] =?UTF-8?q?Criando=20atributos=20de=20inst=C3=A2ncia?= =?UTF-8?q?=20nome=20e=20idade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index bbb52d539..45871cb04 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,5 +1,19 @@ class Pessoa: - pass + def __init__(self,nome=None,idade=27): + self.nome = nome + self.idade = idade + def cumprimentar(self): + return f'Olá id{self}' + +if __name__ == '__main__': + p = Pessoa('Lucas') + print(Pessoa.cumprimentar(p)) + print(id(p)) + print(p.cumprimentar()) #implicitamente, passa p como parâmetro, assim como qualquer método que use + print(p.nome) + p.nome = 'Renzo' + print(p.nome) + print(p.idade) """ To import in Python Console: From 056db680a6e9607a7d959518c6e93d0d1ec1cf82 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 22:27:32 -0300 Subject: [PATCH 3/8] =?UTF-8?q?Criando=20atributos=20de=20inst=C3=A2ncia?= =?UTF-8?q?=20nome=20e=20idade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 1 - 1 file changed, 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 45871cb04..ff2964d80 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -13,7 +13,6 @@ def cumprimentar(self): print(p.nome) p.nome = 'Renzo' print(p.nome) - print(p.idade) """ To import in Python Console: From bf0c6b26f96ac7797395c327cd3a7f50e28d8a50 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 22:28:17 -0300 Subject: [PATCH 4/8] =?UTF-8?q?Criando=20atributos=20de=20inst=C3=A2ncia?= =?UTF-8?q?=20nome=20e=20idade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 1 + 1 file changed, 1 insertion(+) diff --git a/oo/pessoa.py b/oo/pessoa.py index ff2964d80..45871cb04 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -13,6 +13,7 @@ def cumprimentar(self): print(p.nome) p.nome = 'Renzo' print(p.nome) + print(p.idade) """ To import in Python Console: From 1f2252af444fb989db8cfec30dedcb9c5b118faf Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 22:41:41 -0300 Subject: [PATCH 5/8] Criando atributo complexo filhos --- oo/pessoa.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 45871cb04..16c9f4e1b 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,20 +1,21 @@ class Pessoa: - def __init__(self,nome=None,idade=27): + def __init__(self,*filhos,nome=None,idade=27): self.nome = nome self.idade = idade + self.filhos = list(filhos) + def cumprimentar(self): return f'Olá id{self}' if __name__ == '__main__': - p = Pessoa('Lucas') - print(Pessoa.cumprimentar(p)) - print(id(p)) - print(p.cumprimentar()) #implicitamente, passa p como parâmetro, assim como qualquer método que use - print(p.nome) - p.nome = 'Renzo' - print(p.nome) - print(p.idade) - + lucas = Pessoa(nome='Lucas de Moura Quadros',idade=27) + yago = Pessoa(nome='Yago de Moura Quadros',idade=26) + laura = Pessoa(nome='Laura Quadros',idade=16) + clarinha = Pessoa(nome='Maria Clara de Quadros',idade=5) + luiz = Pessoa(lucas,yago,laura,clarinha,nome='Luiz Alberto de Quadros',idade=55) + print("\nFilhos do Luiz:\n") + for filho in luiz.filhos: + print(filho.nome) """ To import in Python Console: from oo.pessoa import Pessoa From b81d31c6ea12a94e161bd30548d57b8fd9b1f9d9 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 23:05:08 -0300 Subject: [PATCH 6/8] =?UTF-8?q?Criando=20atributos=20din=C3=A2micos=20para?= =?UTF-8?q?=20objetos=20do=20tipo=20Pessoa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/oo/pessoa.py b/oo/pessoa.py index 16c9f4e1b..99ac92f05 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -13,9 +13,17 @@ def cumprimentar(self): laura = Pessoa(nome='Laura Quadros',idade=16) clarinha = Pessoa(nome='Maria Clara de Quadros',idade=5) luiz = Pessoa(lucas,yago,laura,clarinha,nome='Luiz Alberto de Quadros',idade=55) + print("\nFilhos do Luiz:\n") for filho in luiz.filhos: print(filho.nome) + + #atributos dinâmicos(não é boa prática): + lucas.pol = 'Esquerda' #atributo criado apenas para esse objeto + del luiz.filhos #atributo removido apenas para esse objeto + print(lucas.__dict__) #imprime atributos do objeto + print(luiz.__dict__) + """ To import in Python Console: from oo.pessoa import Pessoa From 31aa77649faab795c8336ef86995d58b089f0954 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sat, 15 Aug 2020 23:47:41 -0300 Subject: [PATCH 7/8] Criando atributo de Classe olhos --- oo/pessoa.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 99ac92f05..e577cffee 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,4 +1,7 @@ class Pessoa: + + olhos = 2 + def __init__(self,*filhos,nome=None,idade=27): self.nome = nome self.idade = idade @@ -18,11 +21,14 @@ def cumprimentar(self): for filho in luiz.filhos: print(filho.nome) - #atributos dinâmicos(não é boa prática): - lucas.pol = 'Esquerda' #atributo criado apenas para esse objeto - del luiz.filhos #atributo removido apenas para esse objeto - print(lucas.__dict__) #imprime atributos do objeto - print(luiz.__dict__) + lucas.olhos = 3 + print(Pessoa.olhos) + print(lucas.__dict__) + del lucas.olhos + print(lucas.__dict__,lucas.olhos) + Pessoa.olhos = 1 + print(lucas.__dict__,lucas.olhos) + """ To import in Python Console: From d749dfdb8c7382fa41435496656ea511ebb201a2 Mon Sep 17 00:00:00 2001 From: Lucas de Moura Quadros Date: Sun, 16 Aug 2020 00:13:32 -0300 Subject: [PATCH 8/8] =?UTF-8?q?Criando=20m=C3=A9todo=20de=20classe=20e=20m?= =?UTF-8?q?=C3=A9todo=20est=C3=A1tico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/oo/pessoa.py b/oo/pessoa.py index e577cffee..df915052f 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -10,6 +10,14 @@ def __init__(self,*filhos,nome=None,idade=27): def cumprimentar(self): return f'Olá id{self}' + @staticmethod + def metodo_estatico(): + return 42 + + @classmethod + def metodo_classe(cls): + return f'{cls} olhos: {cls.olhos}' + if __name__ == '__main__': lucas = Pessoa(nome='Lucas de Moura Quadros',idade=27) yago = Pessoa(nome='Yago de Moura Quadros',idade=26) @@ -29,6 +37,8 @@ def cumprimentar(self): Pessoa.olhos = 1 print(lucas.__dict__,lucas.olhos) + print(Pessoa.metodo_estatico(),lucas.metodo_estatico()) + print(Pessoa.metodo_classe(),lucas.metodo_classe()) """ To import in Python Console: