tutorial lenguaje instalar descargar python

lenguaje - python tutorial



TypeError: get() no toma argumentos de palabra clave (2)

Soy nuevo en Python y básicamente intento crear una tabla hash que compruebe si una clave apunta a un valor en la tabla, y si no, la inicializa en una matriz vacía. La parte ofensiva de mi código es la línea:

converted_comments[submission.id] = converted_comments.get(submission.id, default=0)

Me sale el error:

TypeError: get() takes no keyword arguments

Pero en la documentación (y varias piezas de código de ejemplo), puedo ver que toma un argumento predeterminado:

https://docs.python.org/2/library/stdtypes.html#dict.get http://www.tutorialspoint.com/python/dictionary_get.htm

A continuación se muestra la sintaxis del método get ():

dict.get (clave, predeterminado = Ninguno)

No hay nada sobre esto en The Stack, así que supongo que es un error de principiante.


Debido a la forma en que se desarrollaron las API Python de nivel C, muchas funciones y métodos incorporados en realidad no tienen nombres para sus argumentos. Incluso si la documentación llama al argumento default , la función no reconoce el nombre default como refiriéndose al segundo argumento opcional. Tienes que proporcionar el argumento posicionalmente

>>> d = {1: 2} >>> d.get(0, default=0) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: get() takes no keyword arguments >>> d.get(0, 0) 0


El mensaje de error dice que get no toma argumentos de palabra clave, pero que está proporcionando uno con default=0

converted_comments[submission.id] = converted_comments.get(submission.id, 0)