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..9a02bc2a2 --- /dev/null +++ b/oo/pessoa.py @@ -0,0 +1,42 @@ +class Pessoa: + def __init__(self, *filhos, nome=None, idade=35): + self.idade = idade + self.nome = nome + self.filhos = list(filhos) + + def cumprimentar(self): + return f'Olá {id(self)}' + + @staticmethod + def metodo_estatico(): + return 42 + + @classmethod + def nome_e_atributos_de_classe(cls): + return f'{cls} - olhos {cls.olhos}' + +if __name__ == '__main__': + renzo = Pessoa(nome='Renzo') + luciano = Pessoa(renzo, nome='Fabiano') + print(Pessoa.cumprimentar(luciano)) + print(id(luciano)) + print(luciano.cumprimentar()) + print(luciano.nome) + print(luciano.idade) + for filho in luciano.filhos: + print(luciano.nome) + luciano.sobrenome = 'Figueiredo' + print(luciano.sobrenome) + del luciano.filhos + + print(luciano.__dict__) + print(renzo.__dict__) + + Pessoa.olhos = 3 + print(Pessoa.olhos) + print(luciano.olhos) + print(renzo.olhos) + print(id(Pessoa.olhos),id(luciano.olhos),id(renzo.olhos)) + print(Pessoa.metodo_estatico(),luciano.metodo_estatico()) + print(Pessoa.nome_e_atributos_de_classe(),luciano.nome_e_atributos_de_classe()) +