Python appelable

Les modules

Python prêtent à confusion, surtout lorsque vous définissez les vôtres. "TypeError : ‚Äòmodule‚Äô l’objet n’est pas appelable " est l’une des erreurs les plus courantes commises par les développeurs Python lorsqu’ils travaillent avec des classes.

Dans ce guide, nous expliquons ce que signifie cette erreur et pourquoi elle est générée. Nous parcourons un exemple d’extrait de code pour vous aider à surmonter cette erreur. Commençons !

Le problème : TypeError : ‚Äòmodule‚Äô l’objet n’est pas appelable

Tout fichier Python est un module tant qu’il se termine par l’extension ".py‚".

Les modules sont une partie cruciale de Python car ils vous permettent de définir des fonctions, des variables et des classes en dehors d’un programme principal. Cela signifie que vous pouvez diviser votre code en plusieurs fichiers et le classer plus efficacement.

Les modules doivent être importés d’une certaine manière. Sinon, Python renvoie une erreur :

Cela se produit lorsque vous essayez d’importer un module en tant que fonction.

Un exemple de scénario

Définissez un module appelé "cakes‚". Ce module contient une fonction : read_file. La fonction read_file va lire le contenu d’un fichier texte.

Notre nom de fichier détermine le nom de notre module. Parce que nous voulons que notre module s’appelle "cakes", nous écrivons notre code dans un fichier appelé cakes.py :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi technique après assister à 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.

Cette fonction lit le contenu d’un fichier appelé "cakes.txt‚". Il parcourt ensuite chaque ligne de texte du fichier et ajoute chaque ligne à une liste appelée "all_cakes‚".

Le replace() est utilisée pour remplacer tout caractère de nouvelle ligne (" ‚") par une valeur vide. Cela supprime toutes les nouvelles lignes. Nous retournons "all_cakes‚" à la fin de notre fonction.

Maintenant, ouvrez un fichier appelé app.py et collez ce code :

Ce code utilise notre module "cakes‚" pour lire le contenu du "cakes.txt&rdquo ;. Il imprime ensuite tous les g√¢teaux que la fonction a trouvés dans le fichier.

Laissons exécuter notre code :

Notre code renvoie une erreur.

La solution

Regardons le import statement dans notre fichier app.py :

Nous importons le module "cakes‚". Ce c contient toutes les variables, classes et fonctions que nous déclarons dans le fichier "cakes.py‚" fichier.

Maintenant, regardons notre prochaine ligne de code :

Bien que les "g√¢teaux‚" module ne contient qu’une fonction, nous ne spécifions pas quelle est cette fonction. Cela confond Python car il ne sait pas avec quelle fonction il doit fonctionner.

Pour résoudre cette erreur, nous appelons le nom de la fonction que nous voulons référencer au lieu du module lui-même :

Let&rsquo ;s essayez d’exécuter à nouveau notre code :

Notre code renvoie avec succès la liste des g√¢teaux.

Dans notre fichier app.py, nous appelons cakes.read_file().

Python regarde le fichier "cakes.py‚" o√π nos "g√¢teaux" module est stocké et localise la fonction read_file(). Ensuite, Python exécute cette fonction.

Nous attribuons le résultat de la fonction read_file() à une variable appelée "cake_list‚". Ensuite, nous imprimons cette liste sur la console.

Vous pouvez également importer la fonction read_file directement dans notre programme :

Notre code renvoie :

"Python.Engineering est entré dans ma vie au moment o√π j’en avais le plus besoin et m’a rapidement aidé à participer à un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Notre code exécute la fonction read_file() à partir de "cakes‚" module. Dans cet exemple, nous importons l’ensemble des "g√¢teaux‚" module. Au lieu de le faire, nous importons une fonction des "g√¢teaux‚" module : read_file.

Remarquez que lorsque nous importons read_file, nous n’avons plus besoin d’utiliser cakes.read_file() pour appeler notre fonction. Nous utilisons read_file( ) car nous importons la fonction read_file() directement dans notre code.