盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘

个性签名:整个建筑最重要的是地基,地基不稳,地动山摇。而学技术更要扎稳基础,关注我,带你稳扎每一板块邻域的基础。
博客主页:七归的博客
南来的北往的,走过路过千万别错过,错过本篇,”精彩”可能与您失之交臂 la
Triple attack(三连击):Comment,Like and Collect—>Attention

今天来给大家分享一个常见的报错:

  • 报错点
  • wedgeprops={‘width’: 0.5, ‘edgecolor’: ‘w’}) # 绘制图像
  • 报错原因
  • TypeError: pie() got multiple values for argument ‘explode’

标题中使用’X’,’Y’分别替代了’pie’函数与’explode’参数。因为笔者觉得这种报错情况很是典型,只是函数与参数不同,报错的根本原因却是一样的——参数个数不对应。虽然目前知道了报错原因,但很多人开始不以为是,觉得这只是一个很简单的报错。其实非也。

第一种情况
  • 代码截图(主要看第19行):
    盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘
  • 请看下面的一张报错截图:
    盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘

根据以上两张截图,你会发现报错的行数是第19行,但报错原因提示是参数错误,是不是觉得牛头不对马嘴了?我也是醉了。

; 第二种情况

接着,我的解决方法便是注释掉第19行代码,以此查看其他语句是否也会报这类的错误。

  • 已注释掉第19行代码,截图如下:
    盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘

发现运行后仍然会报刚刚那个错误,所以显然并不是第19行代码的问题,那么,笔者将会把错误点摆放在’explode’参数上面。现在,不注释第19行代码,改为注释掉第17行代码即是有’explode’的那条语句。

  • 报错点
  • wedgeprops={‘width’: 0.5, ‘edgecolor’: ‘w’}) # 绘制图像
  • 结果报错原因更可怕了!!!
  • TypeError: can’t multiply sequence by non-int of type ‘float’
  • (TypeError:无法将序列与”float”类型的非int相乘)
第三种情况

这又是啥错误啊???在一步步检查下,发现也许报错原因并不是在第17、19这两行代码的身上。于是乎,我便一同注释掉这两行代码

  • 报错截图:
    盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘

果不其然,这个报错跟跟第二种情况是一模一样的,说明实际上这个报错跟第17、19行代码并无直接关系。那究竟是哪错了呢?
最后,我突然想到,会不会是第16行有问题呢?不料,果真如此!其实在第二种情况已经表明错误原因是 浮点数跟非数字相乘,因此,笔者从此入手,发现’cate’列表变量是中文字符串的,因而问题就出现在这儿,我们平时为了代码能够呈现出更简洁、简单而往往会省略一些不必要的参数,然而这样可能会很容易报错的,所以,必要的参数建议还是写上。
接下来,在’cate’变量前加上’labels=’

  • 代码如下:
cate = ['华东', '华南', '华中', '西北', '东北']
sales = [56, 31, 20, 82, 72]

plt.pie(sales, labels=cate,
        explode=[0, 0, 0, 0.1, 0],
        autopct='%.1f%%', pctdistance=0.8,
        wedgeprops={'width': 0.5, 'edgecolor': 'w'})
plt.show()

输出结果:

盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘
总结

遇到技术问题,笔者猜大多数人肯定首选百度的吧,当然笔者也不例外,不过我选的是百度翻译。(笔者英语渣渣)然而知道报错原因,根据这个源头一步步去调试报错的行数;调试后,如果会发生改变报错原因的情况,(如上所述)那么再根据这个改变的报错再次调试,检查报错的是哪一条语句,一般这种情况下就能解决了。

Original: https://blog.csdn.net/weixin_64215932/article/details/124795627
Author: 七归
Title: 盘点典型错误之TypeError: X() got multiple values for argument ‘Y‘

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/729667/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球