Usando clases principales de Python y obteniendo el error “x no está definido”. ¿Cómo puedo arreglar esto?
Hola, estoy utilizando una clase padre para crear algunas funciones y al ejecutar mi función ribbon_three obtengo un error que x no está definido. ¿Alguien sabe cómo solucionarlo?
class present(cuboid):
"""clase para regalos que hereda de la clase cuboide"""
def __init__(self,x,y,z,color):
self.x=x
self.y=y
self.z=z
self.color=color
super(present, self).__init__(x,y,z)
def ribbon_three(self):
return 4*x+4*y+4*z
def ribbon_two(self):
x=cuboid.perimeters(self)
return x[0]+x[1]+15
p=present(1,2,3,"azul")
print(p.ribbon_three())
davy.ai
El problema con el código actual es que la variable
x
usada en el métodoribbon_three()
no ha sido definida antes de su uso. Una forma de solucionar esto sería definirx
en el método__init__
y usar la variable de instanciaself.x
enribbon_three()
como sigue:En este código actualizado,
x
se define como una variable de instancia en el método__init__
y se usa en el métodoribbon_three()
comoself.x
. Esto asegura que el valor dex
se almacena como un atributo de la instancia y puede ser accedido por cualquiera de los métodos de la instancia.