Antes de nada, agradeceros por la ayuda.
Veréis, tengo el siguiente código:
class Animal():
def __init__(self, raza, edad, pelaje, tamano): # Características propias de un animal.
# Con self crearemos una instancia independiente para cada animal.
self.raza = raza
self.edad = edad
self.pelaje = pelaje
self.tamano = tamano
RAZA = "perro" # Constante invariable, que además compartirá todas las instancias de la clase animal. Es decir, una variable para todas las instancias.
# COMPORTAMIENTOS ¿Qué es capaz de hacer nuestro objeto perro?
def comer(self, t_hambre):
self.t_hambre = t_hambre
if self.t_hambre:
print(self.nombre, " está comiendo.")
else:
print(self.nombre, " no parece tener hambre ahora.")
def jugar(self):
print("Estás jugando con ", self.nombre)
def __necesidades(self):
print(self.nombre, " ha hecho sus necesidades")
class Mascota(Animal):
def __init__(self, nombre, dueno, raza, edad, pelaje, tamano):
super().__init__(raza, edad, pelaje, tamano)
self.nombre = nombre
self.dueno = dueno
tobi = Mascota("Tobi", "Juan", "Doberman", 0, "Marrón", "25cm")
tobi.comer(True)
El cual solo estoy haciedo a modo orietativo para aprender un poco de POO en python. Bueno, la cuestión es que me he atascado en el alcande que tiene una variable en python, porque ¿Cómo puede ser que una variable creada en una clase que herada de Animal(), en este caso, self.nombre de la clase mascota, sea usada en el método comer, es algo que no entiendo.
Muchas gracias.