首先我们来看一下关于 dict 的 get() 函数的使用方法

get 函数的用法:dict.get(key, default=None) , key 为需要获取 value 的 key,default 为当 key 不存在的时候返回的默认值,默认是 None,我们也可以自定义。

但是当我们尝试使用 自定义 default 的时候 ,产生了 TypeError: dict.get() takes no keyword arguments 的报错信息。

代码示例如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
default_info = '当前传入的 key 不存在'
name = user.get('name', default=default_info)
print(name)# 执行结果如下:
# >>> TypeError: dict.get() takes no keyword arguments

问题解析:

Python 的底层是 C 写的,调用底层 C语言 的时候,在编译时无法解析这个参数的名称,而目前Python的底层设计无法解决这个问题,所以这里直接传入 default 的参数即可,不要加入default=,这样使用也不会造成问题。

解决方法:get("key", default=None) 方法不要添加 default= ,删除这个写法并不影响使用逻辑,但是加上会导致报错,我们可以尝试直接传入 值 或者 对应的变量提示信息。

修改后的代码如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
default_info = '当前传入的 key 不存在'
name = user.get('name', default_info)
print(name)# 执行结果如下:
# >>> Neouser = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
default_info = '当前传入的 key 不存在'
name = user.get('sex', default_info)
print(name)# 执行结果如下:
# >>> 当前传入的 key 不存在

关于 - TypeError: dict.get() takes no keyword arguments相关推荐

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

    解决方法 dict的get("key", 0)方法不要添加default=,删除这个写法并不影响使用逻辑,但是加上会导致报错. d = {'key': 2, } print(d.g ...

  2. MNE-Python : TypeError: today() takes no keyword arguments

    运行代码 在使用MNE读取gdf文件时 import mne %matplotlib inline# Mention the file path to the dataset path = " ...

  3. TypeError: strptime() takes no keyword arguments ValueError(“‘%s‘ is a bad directive in format ‘%s‘“

    t=datetime.datetime.strptime("2021/5/12 09:28:11",format="%Y/%m/%d %h:%m:%s") 1. ...

  4. Python类传参报错-TypeError:takes 2 positional arguments but 3 were given

    Error: 今天写了个类,通过requests传入url和headers来获取接口返回的数据,函数写好了但是出现了报错问题: TypeError:takes 2 positional argumen ...

  5. python创建对象后调用对象的方法,报错TypeError: getName() takes 0 positional arguments but 1 was given

    源码 ## TODO: Create multiple cars and visualize them height = 4 width = 6 world = np.zeros((height, w ...

  6. 成功解决TypeError: fit_transform() takes 2 positional arguments but 3 were given

    成功解决Traceback (most recent call last):   File "F:\Program Files\Python\Python36\lib\site-packag ...

  7. OpenCV——解决使用rectangle()函数时出现“TypeError: function takes exactly 4 arguments (2 given)”错误

    1 问题描述 今天在使用cv.rectangle()函数时,出现了这样的报错: TypeError: function takes exactly 4 arguments (2 given) 源代码我 ...

  8. TypeError: __init__() takes exactly 2 arguments (3 given)

    TypeError: __init__() takes exactly 2 arguments (3 given) 意思是说,该方法只有两个参数,你却给他3个:

  9. scrapy shell 调试报错TypeError: module.__init__() takes at most 2 arguments (3 g iven)

    1.使用scrapy shell的时候本人之前安装了ipython,使用shell调式格式从>>>变成了[1]这种带有ipython的格式,结果整齐度看起来比较舒服. 2.现在创建了 ...

最新文章

  1. ICCV 2019 开源论文 | 基于元学习和AutoML的模型压缩新方法
  2. jquery.cookie 使用方法
  3. 今天的快乐从何而来的飞鸽传书
  4. Origin 移动图像
  5. 多模块Struts应用程序的几个问题(及部分解决方法)
  6. Why String is Immutable or Final in Java
  7. Vue基础知识之vue-resource和axios(三)
  8. ITAA学员的经典对白
  9. 基于C++和EasyX 实现的《双人贪吃蛇》小游戏,你不找个小伙伴陪你一起玩吗?
  10. php报修小程序,微信小程序报修管理系统
  11. 用matlab2012制作机器人,利用matlab建立简单的机器人模型的步骤
  12. 前端缓存方法实现—cookie/sessionStorage/localStorage
  13. 循环结构——求a + aa + aaa +…
  14. 老祖宗的老话大全收藏,每个人都该看一看
  15. MYSQL 2059问题的解决
  16. 【干货】软件安装报“不能注册DLL/OCX:RegSvr32失败;退出代码Ox3”
  17. Google Play关键词排名优化
  18. 微信小程序:打开设置(权限)页面
  19. [附源码]SSM计算机毕业设计高铁售票管理系统JAVA
  20. Spark设计理念和基本架构

热门文章

  1. mac java 更新_mac版java怎么更新升级 mac版java更新升级方法
  2. npm安装出现npm err FetchError Invalid response body while trying to fetch httpsregistry.npmjs.orgvu
  3. 如何处理httpclient的ssl错误
  4. 钛灵科技入驻中国视界,共筑人工智能视觉产业新高地
  5. OSIRISV4.1使用教程(最新可用版)
  6. fpga时序相关—set_input_delay和set_output_delay
  7. 一款压缩率达到五倍以上的免费gif压缩网站
  8. 下一代微型计算机,「简讯」GTX 1650完整规格曝光;任天堂推迟下一代Switch上市时间…...
  9. 想方便快捷的分享/收藏图片?试试免费好用的微博/b站图床
  10. yii mysql gii_Yii整合mongodb和mysql 使用mongodb gii