Python使用字典get()方法TypeError: get() takes no keyword arguments

发布时间 2023-04-12 10:46:28作者: He_LiangLiang

解决方法

dictget("key", 0)方法不要添加default=,删除这个写法并不影响使用逻辑,但是加上会导致报错。

d = {
    'key': 2,
}
print(d.get("key", 0))

问题解析

如果使用下面的代码就会报错TypeError: get() takes no keyword arguments

d = {
'key': 2,
}
print(d.get("key", default=0))

原因是因为Python底层由C来写,调用底层C语言在编译时无法解析这个参数的名称,而目前Python的底层设计无法解决这个问题,所以直接传入参数即可,不要加入default=,这里语法没问题。