Neste exercício ao fazer :
r = Retangulo(7,6) r.area = 7 r.obter_area()
o python permite criar atributos de um objeto ou classe de fora dele ?
que coisa esquisita, kkkkk
muito dinamismo
Neste exercício ao fazer :
r = Retangulo(7,6) r.area = 7 r.obter_area()
o python permite criar atributos de um objeto ou classe de fora dele ?
que coisa esquisita, kkkkk
muito dinamismo
permite, porém, você pode limitar isso com o método mágico " __slots__"
Exemplo:
class Pessoa(object):
__slots__ = ("nome", "idade")
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
Se você tentar criar qualquer atributo além dos que estão contidos em slots (nome e idade), ele irá te retornar um erro de atributo
Ex:
elvis = Pessoa('Elvis', 87)
elvis.musica = 'Love Me Tender'
AttributeError: 'Pessoa' object has no attribute 'musica'
Legal !
Mais para frente então o Nico deve mostrar,
Então bom saber antecipadamente que existe uma solução para isto.
Valeu!