Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O python permite criar atributos de objetos fora da classe ?

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

2 respostas

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'
solução!

Legal !

Mais para frente então o Nico deve mostrar,

Então bom saber antecipadamente que existe uma solução para isto.

Valeu!