Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

Python Python Orientado a Objetos Básico Bienvenido a POO Agregando a nuestro Panda

No estoy seguro de cómo "Llamar a un método" dentro de otro método en una clase

Estoy intentando seguir esta tercera parte y parecía suficientemente directo, pero honestamente estoy perdido. Quieren que verifiquemos si "is_hungry" es verdadero. Si lo es, llama el método (eat(self)) dentro del método check_if_hungry(self). No entiendo cómo se supone que debo hacer eso.

panda.py
class Panda:
    especie = 'Ailuropoda melanoleuca'
    comida = 'bamboo'

    def __init__(self, name, edad):
        self.is_hungry = Verdadero
        self.name = name
        self.edad = edad

    def eat(self):
        self.is_hungry = False
        return {name} eats {food}..format(name = self.name, comida = self.comida)

    def check_if_hungry(self):
        if self.is_hungry == Verdadero:
            self.eat(self)

1 Respuesta

Chris Freeman
Chris Freeman
68,469 puntos

Hola Duane Smith, cualquier atributo de instancia (nombres con ese espacio de nombres) puede ser referenciado usando self. Esto es válido para referencias de método.

Usando el self. El prefijo dice buscar esta referencia en el espacio de nombres de la instancia actual.

Para ver qué hay en un espacio de nombres, use dir(). Desde dentro puede usar dir(self). Desde fuera use dir(instance_name).

Nota: cuando llamando un método de instancia, no incluya el parámetro "self". Entonces, use self.eat()

Publica de nuevo si necesitas más ayuda. ¡Buena suerte!

Gracias Chris Freeman ¡por la retroalimentación!