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!