Error de atributo de Python: el objeto tipo no tiene atributo
Soy nuevo en Python y en la programación en general (desde diciembre) e intento enseñarme algo sobre Python orientado a objetos y obtuve este error en mi último proyecto:
AttributeError: type object 'Goblin' has no attribute 'color'
Tengo un archivo para crear clases "Monster" y una subclase "Goblin" que se extiende desde la clase Monster. Cuando importo ambas clases, la consola no devuelve ningún error
>>>from monster import Goblin
>>>
Incluso crear una instancia funciona sin problemas:
>>>Azog = Goblin
>>>
Pero cuando llamo a un atributo de mi clase Goblin, la consola devuelve el error en la parte superior y no entiendo por qué. Aquí está el código completo:
import random
COLORS = ['yellow','red','blue','green']
class Monster:
min_hit_points = 1
max_hit_points = 1
min_experience = 1
max_experience = 1
weapon = 'sword'
sound = 'roar'
def __init__(self, **kwargs):
self.hit_points = random.randint(self.min_hitpoints, self.max_hit_points)
self.experience = random.randint(self.min_experience, self.max_experience)
self.color = random.choice(COLORS)
for key,value in kwargs.items():
setattr(self, key, value)
def battlecry(self):
return self.sound.upper()
class Goblin(Monster):
max_hit_points = 3
max_experience = 2
sound = 'squiek'