Maison > développement back-end > Tutoriel Python > Pourquoi 'example = list(...)' renvoie-t-il une 'TypeError : l'objet 'list' n'est pas appelable' ?

Pourquoi 'example = list(...)' renvoie-t-il une 'TypeError : l'objet 'list' n'est pas appelable' ?

Patricia Arquette
Libérer: 2025-01-03 22:13:42
original
237 Les gens l'ont consulté

Why Does

Pourquoi "exemple = liste (...)" entraîne-t-il "TypeError : l'objet 'liste' n'est pas appelable" ?

En Python, le code "exemple = liste(...)" assigne la liste construite à partir des arguments fournis à la variable "exemple". Cependant, si l'erreur « TypeError : 'list' object is not callable » est rencontrée, cela indique que le nom « list » a été réaffecté à un objet non appelable.

Plus précisément, Python permet l'observation de noms intégrés, ce qui signifie qu'il est possible de créer une variable avec le même nom qu'une fonction ou une classe intégrée. Lorsque cela se produit, la variable locale a priorité sur la variable intégrée, rendant la variable intégrée inaccessible dans cette portée.

Dans ce cas, il est probable que vous ayez accidentellement créé une variable nommée « liste » qui fait référence à une instance de la classe « list » au lieu de la fonction de liste intégrée. En tant que classe, l'instance "list" n'est pas appelable, ce qui conduit à la "TypeError".

Cette ombre peut se produire de manière subtile, comme dans l'exemple suivant :

example = list('abc')  # Create a list from the string 'abc'
list = list('xyz')  # Reassign 'list' to a new list instance
example = list('def')  # Error: 'list' is now an instance, not callable
Copier après la connexion

Pour éviter une telle erreurs, il est important d'être conscient du potentiel de collisions d'espaces de noms et d'utiliser des noms uniques pour les variables. De plus, l'utilisation d'un IDE qui fournit une détection d'observation de noms peut aider à identifier les conflits potentiels dès le début.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal