Quando é absolutamente necessário declarar uma variável/atributo dentro de uma classe em Python?

Por que Python não saída 'Assistente' objeto não tem nenhum atributo 'mal' ou 'outros'? Não deve esta ser declarada antes?

class Wizard:

    def __init__(self, mana):
        self.mana = mana

    def stupor(self, other, harm=50):
       # self.other = other }
       # self.harm = harm   } Shouldn't this be necessary to Python understand 
       # the code inside if statement?
       # 
        if self.mana >=100:
            other.mana -= harm # } this code



tom = Wizard(112)
dumbledore = Wizard(151)

tom.stupor(dumbledore)
dumbledore.stupor(tom,200)

for n in range(0,10):
    tom.stupor(dumbledore)

print(tom.mana)
print(dumbledore.mana)

Eu esperaria AttributeError: 'Assistente' objeto não tem nenhum atributo 'danos' AttributeError: 'Assistente' objeto não tem nenhum atributo 'outros'

Mas o código de obras. Por quê?

-1
2019-09-19 17:05:59
origem
0 respostas

Veja mais perguntas por marcas