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

Pregunta propia

¿Por qué tengo que incluir "self." antes de la variable de alimento si es un atributo de clase?

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

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

    def eat(self):
        self.is_hungry = False
        return f'{self.name} eats {self.food}.'

2 Respuestas

Steven Parker
Steven Parker
244 163 puntos

Es porque es un atributo de clase que usas el prefijo "self.". Sin el prefijo, se referiría a una variable local o global (o causaría un error si ninguna existía).

Steven Parker
Steven Parker
244 163 puntos

shrihanacharya — Me alegra haber podido ayudar. Puedes marcar una pregunta como resuelta eligiendo una "mejor respuesta".
¡Y feliz codificación!

Ohh ok. Asumí que el prefijo self. solo se refiere a atributos de instancia. Supongo que Treehouse no mencionó eso en sus lecciones.