parámetro de objeto de clase python

Los argumentos que acepta un objeto de clase se pasan a través de una funciòn llamada __init __ () . Si escribe mal esta funciòn en la declaraciòn de su clase, encontrará un " TypeError: object () no tiene argumentos " error cuando ejecuta su còdigo.

En esta guìa, hablamos sobre lo que significa este error y por qué puede encontrarlo. Veremos un ejemplo de este error para ayudarlo a descubrir còmo solucionarlo.

TypeError: object () no toma argumentos

Objetos de una clase opcionalmente pueden aceptar argumentos. Estos argumentos se utilizan para establecer valores dentro de un objeto. Considere el siguiente còdigo:

El método __init__ nos permite asignar un valor para el " self.name " variable en nuestra clase. Podemos hacer referencia a esta variable en cualquier método de nuestra clase.

El método __init__ es un método especial. A menudo se le llama constructor. El método constructor debe estar escrito correctamente; de ‚Äã‚Äãlo contrario, no puede pasar ning√∫n argumento a una declaraciòn en la que declare un objeto de una clase.

Como referencia, el método __init__ se escribe como:

Dos guiones bajos, seguidos de " init ", seguidos de dos guiones bajos.

El " TypeError: object () no acepta argumentos " El error también puede deberse a una sangrìa incorrecta. Si ha escrito el método __init__ correctamente, aseg√∫rese de usar espacios y pesta√±as consistentes en su clase.

El 81% de los participantes afirmò que se sentìa más seguro acerca de sus perspectivas laborales de tecnologìa después de asistir a un bootcamp. Asigne a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Vamos a crear un programa que rastrea informaciòn sobre un producto en una tienda de electrònica. Para empezar, defina una clase. Esta clase sirve como modelo para nuestros productos:

Nuestra clase contiene dos métodos . El primer método es nuestro constructor. Este método define todos los valores que pueden almacenar los objetos de nuestra clase. El segundo método nos permite ver el precio de un producto.

A continuaciòn, vamos a crear un objeto de nuestra clase:

Este còdigo crea un objeto para una parrilla George Foreman que está encendida en la tienda de electrònica. A continuaciòn, vamos a llamar a nuestro método show_price () para que podamos ver el precio de este producto:

Ejecutemos nuestro còdigo y veamos qué sucede:

Nuestro còdigo devuelve un mensaje de error.

La soluciòn

Para asignar valores iniciales a las variables dentro un objeto, tienes que especificar los valores de esas variables como argumentos en la declaraciòn donde se declara un objeto.

Esto solo funciona si hay un método __init__ válido en un objeto. De lo contrario, Python no sabe còmo tratar los valores que ha especificado como argumentos. Sin un método especial __init__, Python no sabrìa qué método debe procesar los argumentos.

En nuestro còdigo, hemos declarado un método _init_ (con un guiòn bajo en cada lado):

Esto no se trata igual que __init__. Para solucionar este error, tenemos que cambiar el nombre de este método para que use la sintaxis correcta:

Hemos cambiado el nombre de nuestro método a __init__. Ejecutemos nuestro còdigo y veamos si funciona:

Nuestro còdigo nos dice con éxito el precio de la parrilla George Foreman.

TypeError: este constructor no acepta argumentos

El error " TypeError: object () no toma argumentos " aparece como " TypeError: este constructor no acepta argumentos " en Python 2.x.

Este mensaje nos dice que hemos cometido un error al definir nuestro constructor. Para resolver este problema, aseg√∫rese de escribir el __ init __ () método correctamente y que utiliza la sangrìa correcta en la clase que está causando el error.

Conclusiòn

El " TypeError: object () toma sin argumentos " se genera un error cuando no declaras un método llamado __init__ en una clase que acepta argumentos.

Para resolver este error, revisa tu còdigo para asegurarte de que __init __ ( ) está escrito correctamente. El método debe tener dos guiones bajos a cada lado del palabra " init & rdquo ;.

Ahora está listo para corregir este error com√∫n de Python como un profesional !