argument auto Python

Les

classes Python doivent être instanciées ou appelées avant de pouvoir accéder à leurs méthodes. Si vous oubliez d’instancier un objet d’une classe et essayez d’accéder à une méthode de classe, vous rencontrez une erreur indiquant "1 argument de position requis manquant : ‚Äòself‚Äô".

Dans ce guide, nous parlons de ce que signifie cette erreur et pourquoi elle est soulevée. Nous passons en revue un exemple de cette erreur en action pour vous aider à apprendre comment la corriger.

1 argument de position requis manquant : ‘self’

Les arguments de position font référence à des données qui sont passé dans une fonction. Dans une classe, chaque fonction doit recevoir la valeur "self‚". La valeur du "soi" est similaire à "ceci" en JavaScript. "auto" représente les données stockées dans un objet d’une classe.

Lorsque vous appelez une méthode de classe sans d’abord instancier un objet de cette classe, vous obtenez une erreur. C’est parce que "auto" n’a aucune valeur tant qu’un objet n’a pas été instancié.

Les erreurs les plus courantes qui sont à l’origine de l’"argument de position obligatoire manquant 1 : ‚Äòself‚Äô‚" erreur sont :

  • Oublier d’instancier un objet d’une classe
  • Utiliser une syntaxe incorrecte pour instancier une classe

Examinons chacune de ces causes individuellement.

Cause n¬∞1 : Oublier d’instancier un objet

Un objet doit être instancié avant de pouvoir accéder à une méthode dans une classe.< br>

Définissez une classe qui stocke des informations sur un héros dans un jeu vidéo :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Ensuite, nous ajoutons un function à notre classe. Les fonctions à l’intérieur des classes sont appelées méthodes. Cette méthode imprime le nom d’un joueur et son type de joueur :

Essayez d’accéder à notre classe afin que nous puissions créer un joueur : ;

Nous avons créé un objet qui est affecté à la variable "luke‚". Cet objet est dérivé de la classe Hero. Nous appelons la méthode show_player() pour afficher des informations sur le joueur.

Exécutons complètement notre code et voyons ce qui se passe :

Notre code échoue. C’est parce que nous n’avons pas instancié un objet de Hero. Hero.show_player() ne fonctionne pas car nous n’avons pas créé de Hero dont les informations peuvent être affiché.

Pour résoudre cette erreur, nous instancions d’abord un objet avant d’appeler show_player() :

Exécutez à nouveau notre code :

Notre code s’exécute avec succès ! Nous avons d’abord déclaré un varia ble appelé "luc" qui stocke des informations sur un joueur appelé Luke. Le type de joueur de Luke est "Mage". Maintenant que nous avons instancié cet objet, nous pouvons appeler la méthode show_player().

Cause n¬∞2 : instanciation incorrecte d’une classe

Le "manquant 1 argument de position requis : ‚Äòself‚Äô‚" erreur peut se produire lorsque vous instanciez incorrectement une classe. Considérez le code suivant :

Bien que ce code soit similaire à notre solution du dernier exemple, il est incorrect. C’est parce que nous n’avons ajouté aucune parenthèse après le mot Hero. En manquant ces parenthèses, notre programme ne sait pas que nous voulons instancier une classe.

Résolvez ce problème en ajoutant des parenthèses après Hero et en spécifiant les arguments requis, "nom‚" et "player_type‚" :

Notre code s’exécute maintenant avec succès et renvoie des informations sur notre lecteur :

Conclusion

Le "1 argument de position requis manquant : ‚Äòself‚Äô‚" une erreur est levée lorsque vous n’instancierez pas un objet d’une classe avant d’appeler une méthode de classe. Cette erreur est également générée lorsque vous instanciez incorrectement une classe.

Pour résoudre cette erreur, assurez-vous d’abord d’instancier un objet d’une classe avant d’essayer d’accéder à l’une des méthodes de cette classe. Ensuite, vérifiez que vous utilisez le bon syntaxe pour instancier un objet.

Vous êtes maintenant prêt à résoudre cette erreur courante comme un développeur Python expert!

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