Skip to content

Commit fc54e8a

Browse files
metodos e atributos de classe
1 parent 9476b61 commit fc54e8a

1 file changed

Lines changed: 25 additions & 10 deletions

File tree

oo/pessoa.py

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
from builtins import classmethod
2+
3+
14
class Pessoa:
5+
olhos=2
26
def __init__(self,*filhos, nome=None, idade=27): # atributos
37
self.nome = nome
48
self.idade = idade
@@ -7,24 +11,35 @@ def __init__(self,*filhos, nome=None, idade=27): # atributos
711

812

913
def cumprimentar(self):
10-
return f'Olá Mundo {self.nome}' # se verificar o id de self é o mesmo do p!
11-
14+
return f'Olá Mundo {self.nome}' # se verificar o id de self é o mesmo do p!
15+
16+
@staticmethod
17+
def metodo_estatico():
18+
return 42
19+
@classmethod
20+
def nomes_e_atributos_de_classes(cls):
21+
return f'{cls}, olhos {cls.olhos}, '
1222
if __name__ == '__main__':
13-
daniele= Pessoa('livia',nome='Daniele') # chama a classe pessoas mandando a str Teste para nome
14-
michel= Pessoa(daniele, nome='Michel')# daniele vai para filhos
15-
for i in michel.lfi: # for chama michel.lfi que contem daniele e toca pra i
16-
print(i.nome) #nesse momento i contem daniele e pede pra imprimir daniele.nome
23+
daniele= Pessoa('livia',nome='Daniele') # chama a classe pessoas mandando a str Teste para nome
24+
michel= Pessoa(daniele, nome='Michel') # daniele vai para filhos
25+
for i in michel.lfi: # for chama michel.lfi que contem daniele e toca pra i
26+
print(i.nome) #nesse momento i contem daniele e pede pra imprimir daniele.nome
1727

1828
print(daniele.idade, daniele.nome, daniele.lfi[0])
1929
print(f'o nome é {michel.nome} o sua idade é {michel.idade} anos ')
2030
daniele.sobrenome='Stein'
2131

22-
print(daniele.sobrenome) # adiciona um atributo que nao esta em __init__
32+
print(daniele.sobrenome) # adiciona um atributo que nao esta em __init__
2333
michel.sobrenome='Santos'
2434
print(michel.sobrenome)
2535
del michel.sobrenome
26-
# del michel.sobrenome apaga um atributo
27-
print(daniele.__dict__) # mostra todos atributos de daniele
36+
print(f' O id:{id(michel)} ',michel.olhos,f'id de ohos michel{michel.olhos}')
37+
print(f' O id:{id(daniele)} ',daniele.olhos,f'id de ohos michel{daniele.olhos}')
38+
print(michel.olhos)
39+
print(Pessoa.olhos)
40+
# del michel.sobrenome apaga um atributo
41+
print(daniele.__dict__) # mostra todos atributos de daniele
2842
print(michel.__dict__)
29-
43+
print(Pessoa.metodo_estatico(), michel.metodo_estatico()) #posso chamar direto da classe ou do objeto da classe
44+
print(Pessoa.nomes_e_atributos_de_classes(), michel.nomes_e_atributos_de_classes()) #posso chamar direto da classe ou do objeto da classe
3045

0 commit comments

Comments
 (0)