auto argumento de Python

Las clases de Python deben instanciarse o llamarse antes de poder acceder a sus métodos. Si olvidas crear una instancia de un objeto de una clase e intentas acceder a un método de clase, encuentras un error que dice " falta 1 argumento posicional requerido: " self " & rdquo ;.

En este guìa, hablamos de lo que significa este error y por qué se plantea. Analizamos un ejemplo de este error en acciòn para ayudarlo a aprender còmo solucionarlo.

falta 1 argumento posicional requerido: " self "

Los argumentos posicionales se refieren a datos que son pasado a una funciòn. En una clase, cada funciòn debe recibir el valor " self & rdquo ;. El valor de " self " es similar a " this " en JavaScript. " yo mismo " representa los datos almacenados en un objeto de una clase.

Cuando llamas a un método de clase sin primero instanciar un objeto de esa clase, obtienes un error. Esto se debe a que " self " no tiene ning√∫n valor hasta que se ha creado una instancia de un objeto.

Los errores más comunes que se cometen que causan el " falta 1 argumento posicional requerido: " self " " los errores son:

  • Olvidar crear una instancia de un objeto de una clase
  • Usar la sintaxis incorrecta para crear una instancia de una clase

Analicemos cada una de estas causas individualmente.

Causa n. ° 1: Olvidar crear una instancia de un objeto

Se debe crear una instancia de un objeto antes de poder acceder a un método en una clase. < br>

Defina una clase que almacene informaciòn sobre un héroe en un videojuego:

El 81% de los participantes afirmaron que se sentìan más seguros acerca de sus perspectivas laborales de tecnologìa después de asistir a un campamento de entrenamiento. Asòciese a un bootcamp hoy mismo.

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

A continuaciòn, agregamos un < una href = "/ python-functions/">funciòn a nuestra clase. Las funciones dentro de las clases se denominan métodos. Este método imprime el nombre de un jugador y su tipo de jugador:

Intenta acceder a nuestra clase para que podamos crear un reproductor: & nbsp ;

Hemos creado un objeto que está asignado a la variable " luke & rdquo ;. Este objeto se deriva de la clase Hero. Llamamos al método show_player () para mostrar informaciòn sobre el reproductor.

Ejecutemos nuestro còdigo por completo y veamos qué sucede:

Nuestro còdigo falla. Esto se debe a que no hemos creado una instancia de un objeto de Hero. Hero.show_player () no funciona porque no hemos creado un Hero cuya informaciòn mostrar.

Para resolver este error, primero creamos una instancia de un objeto antes de llamar a show_player () :

Ejecuta nuestro còdigo nuevamente:

¬°Nuestro còdigo se ejecuta correctamente! Primero declaramos una varia ble llamado " luke " que almacena informaciòn sobre un jugador llamado Luke. El tipo de jugador de Luke es " Mago & rdquo ;. Ahora que hemos creado una instancia de ese objeto, podemos llamar al método show_player () .

Causa # 2: instanciar incorrectamente una clase

El " faltante 1 argumento posicional requerido: " self " " Puede producirse un error cuando crea una instancia de una clase de forma incorrecta. Considere el siguiente còdigo:

Si bien este còdigo es similar a nuestra soluciòn del √∫ltimo ejemplo, es incorrecto. Esto se debe a que no hemos agregado ning√∫n paréntesis después de la palabra Héroe. Al omitir estos paréntesis, nuestro programa no sabe que queremos crear una instancia de una clase.

Resuelva este problema agregando paréntesis después de Hero y especificando los argumentos requeridos, " name " y " player_type & rdquo ;:

Nuestro còdigo ahora se ejecuta correctamente y devuelve informaciòn sobre nuestro reproductor:

Conclusiòn

El " falta 1 argumento posicional obligatorio: " self " " Se genera un error cuando no crea una instancia de un objeto de una clase antes de llamar a un método de clase. Este error también se genera cuando crea una instancia incorrecta de una clase.

Para solucionar este error, aseg√∫rese de crear una instancia de un objeto de una clase antes de intentar acceder a cualquiera de los métodos de esa clase. Luego, aseg√∫rese de utilizar el método correcto sintaxis para crear una instancia de un objeto.

Ahora está listo para resolver este error com√∫n como un desarrollador experto en Python < / a>!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method