TypeError: 'dict' objet n'est pas exigible lors de l'utilisation dict( )
J'ai été en utilisant Python 2.7.12 (par défaut, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] sur linux2 , quand j'ai couru le lien suivant dans le code de l'erreur correspondant est affiché .J'ai beaucoup cherché, mais n'arrive pas à trouver pourquoi est-il si
>>> bob=dict(name='bob smith',age=42,pay='10000',job='dev')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict' object is not callable
Avez-vous désigné une variable
dict
quelque part?OriginalL'auteur Somebody | 2017-01-12
Vous devez vous connecter pour publier un commentaire.
Dans une nouvelle interprète:
Cependant, vous obtenez un
TypeError
:Cette erreur que vous vous dit que votre
dict
n'est pas appelable.Depuis mon
dict
est exigible lorsque j'ouvre une nouvelle interprète, cela signifie que votredict
est différent.Le plus probable, vous avez défini un
dict
variable, qui l'emportait sur le haut -dict
. Recherchez lesligne, et de changer le nom de votre variable.
Comme l'a souligné @Robᵩ, n'utilisez pas intégré dans les noms de vos variables. Surtout éviter la tentation
str
,list
, et ainsi de suite.OriginalL'auteur Right leg
Sur une ligne précédente dans cette session interactive, vous avez rebond de la
dict
nom d'une variable. Peut-être vous avez une ligne commedict={1:2}
oudict=dict(one=1, two=2)
.Ici est une de ces séances:
En règle générale, on ne devrait pas utiliser intégré dans le type des noms comme noms de variable, pour éviter cette erreur.
OriginalL'auteur Robᵩ
edit: Ignorer cela, je me suis dit que c'est une mauvaise pratique.
Comme mgilson dit, le problème est probablement que vous avez une variable appelée dict. La solution à ce problème serait de exécuter
qui supprime la variable de ce nom.
del
est généralement une mauvaise idée, surtout sur un haut-nom...Merci pour cette remarque. Ajout d'un avertissement disant que je me trompe.
OriginalL'auteur Peter Gottesman