Python, mensaje de error al crear clase en Python

He realizado la siguiente programación:

From math import pi

class circulo:
     def _init_(self, radio):
         self.radio = radio

   def area(self):
         resultado=pi*self.radio**2
         return resultado
   def perimetro(self):
        resultado=2*pi*self.radio
        return resultado

co= circulo(5)

print("area= ", co.area())
print("perimetro= ", co.perimetro())

y me sale el siguiente error:

TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_1708/2396840592.py in <module>
     15         return resultado
     16 
---> 17 co= circulo(5)
     18 
     19 print("area= ", co.area())
TypeError: circulo() takes no arguments

1 respuesta

Respuesta
1

Como ya he dicho otras veces en esta página aunque he respondido alguna vez a consultas que aparecían en Python en realidad se trataba de preguntas de MSDOS o que se podían resolver a ese nivel. Pero como no debe haber muchos "expertos" en Python de verdad en la página me siguen llegando a mí estas consultas. No he programado nunca en Python pero he buscado "python takes no arguments" en la red y me ha salido esto:

The “TypeError: object() takes no arguments” error is raised when you do not declare a method called __init__ in a class that accepts arguments. To solve this error, double-check your code to ensure that __init__() is spelled correctly. The method should have two underscores on either side of the word “init”.

Veo que sí que aparece un "def _init_" pero, tal como sugiere lo que he copiado podría ser que debiera ser "def __init__" con dos guiones bajos a cada lado, y he comprobado que es así al menos en lo que has copiado en la página.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas