L'objet Python n'est pas une erreur appelable

L'objet Python n'est pas une erreur appelable
L'objet d'erreur non appelable est courant dans Python et est causé lorsque l'utilisateur essaie de créer une variable en le nommant égal à un mot-clé réservé, ce qui fait que le programme ne se différencie pas entre le nom de la variable et le mot-clé réservé. Cet article agira comme un guide et expliquera les raisons et la solution à l'erreur «Objet non appelant» dans Python.

Raison 1: dénomination non valide de la variable dans Python

Comme mentionné ci-dessus, cette erreur peut être causée lorsque l'utilisateur nomme une variable égale à un mot-clé réservé et utilise ce mot-clé réservé dans le même programme également. Un exemple pour démontrer cette erreur peut être recréé à l'aide de l'extrait de code suivant:

int = 5
var1 = int (7)
pour i dans la plage (1, var1):
imprimer (i * 5)

Lorsque vous exécutez ce code, il produira:

Dans cet exemple, l'erreur est causée parce que le programme essaie d'appeler la variable créée par l'utilisateur «int» en fonction, ce qui n'est pas possible.

Solution: fournir des identifiants appropriés aux variables

Pour résoudre ce problème, l'utilisateur peut fournir un nom différent à la variable à la première ligne, et le code correct pour cet exemple est:

a = 5
var1 = int (7)
pour i dans la plage (1, var1):
imprimer (i * 5)

Lorsque ce code est exécuté maintenant, il produira le résultat suivant sur le terminal:

Comme vous pouvez le voir que le programme a réussi à exécuter sans aucune erreur.

Raison 2: Appel incorrect à la méthode du module importé

Cette erreur se produit également lorsque l'utilisateur n'utilise pas correctement l'importation du module lors de l'accès à ses méthodes; Pour démontrer cela, prenez l'extrait de code suivant:

socket d'importation
var1 = prise (prise.Af_inet, socket.Sock_stream)
Imprimer ("La sortie de la variable de socket est:")
imprimer (var1)

Dans cet extrait de code:

  • L'utilisateur a importé le module «socket» dans le code
  • Ce module a une méthode nommée Socket (), et l'utilisateur y fait un appel sans mentionner le nom du module avec un opérateur de points

Lorsque ce code est exécuté, il produit le résultat suivant:

Voyons comment corriger cette erreur.

Solution 1: Utilisez le nom du module avec l'opérateur DOT

Eh bien, cette solution est assez simple; Lorsque vous appelez la méthode, utilisez le nom du module et accédez à sa méthode après avoir appliqué l'opérateur de points, comme ainsi:

socket d'importation
var1 = socket.prise.Af_inet, socket.Sock_stream)
Imprimer ("La sortie de la variable de socket est:")
imprimer (var1)

Cette fois, lorsque le code est exécuté, il produit le résultat suivant sur le terminal:

Comme vous pouvez le voir, le programme a pu s'exécuter sans aucune erreur.

Solution 2: Utilisation de l'approche d'import

Si vous ne souhaitez pas utiliser à nouveau le nom du module tout au long du programme, vous pouvez modifier la façon dont vous importez le module dans votre programme; Et au lieu d'utiliser le «module d'importation,"Vous pouvez utiliser le"à partir de l'importation du module *". Ce que cela fait, c'est qu'il ajoute directement les méthodes du module dans votre programme.

Avec cette solution, le code correct est:

à partir de l'importation de socket *
var1 = socket (af_inet, sock_stream)
Imprimer ("La sortie de la variable de socket est:")
imprimer (var1)

Cette fois-ci, lorsque ce code est exécuté, il produira le résultat suivant:

La sortie confirme que l'erreur a été évité avec succès.

Conclusion

L'objet Python Erreur «L'objet n'est pas appelable» est souvent causé par l'appel d'une variable en fonction / module lorsque cette variable ne stockait qu'une valeur simple au lieu d'être une méthode. De plus, lorsque le nom de la variable est défini comme un mot-clé réservé pour la méthode intégrée, et que la méthode intégrée est également utilisée dans le même programme, elle provoque également cette erreur. Une dernière raison courante de cette erreur est la manière incorrecte d'importer un module et d'appeler sa méthode, qui a été expliquée dans ce guide.