前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用字典简化你的Python代码,原来还有这种技巧

利用字典简化你的Python代码,原来还有这种技巧

作者头像
咋咋
发布2021-09-01 12:20:45
3350
发布2021-09-01 12:20:45
举报
文章被收录于专栏:数据大宇宙

前言

最近在研究 matplotlib 的最佳学习方式,遇到一个常见又好像无法避免的问题。

任务是做如下报告页面:

  • 其中的文字也是用 matplotlib 输出

其实用 matplotlib 输出文字到画面上也不费劲,核心代码如下:

但是,上面连续调用 axes.text 这个方法,并且这个方法参数挺多的,很明显代码中出现了大量重复的参数设置。

有没有什么方式既可以简化代码,又可以灵活设置参数?

今天我们就来探讨最基础的一种解决方式


字典就是最好的参数仓库

字典的结构其实与函数的参数有很多相似之处:

  • 都是 key value 键值对
  • key 相当于参数名字,value 相当于参数的值

因此,python 特意为此做了字典解包参数的语法:

以前我们就学习过,这里不再展开

因此,我们可以把默认设置放进字典,每次调用时,解包进去:

  • 这里为了避免把参数名字写成字符串,特别用了 dict 函数,他更加贴合方法参数的调用习惯

但是,有时候需要覆盖默认的设置,这可以做到吗?


字典合并

总是有许多文章告诉你很多花式合并字典的方式,但是你却很少知道哪里需要用到。

现在,就是使用的最佳时机。

假如我们需要覆盖原有的设置,只需要合并字典即可:

  • 行18、21:利用 dict(旧字典,其他参数) ,即可重新构造新的字典,并且后面设置的 键值对 能够覆盖第一个参数的字典

不管你用什么方式合并字典,需要注意的是,不要修改了原有的字典

此时你可能就理解,为什么 python 还需要新增字典合并的新语法,就是因为原有的字典合并是比较啰嗦。

如果你使用 python 3.9 ,那么你可以这么写:

  • 字典1 | 字典2 ,即可合并

你学会了没有?

我必须告诉你,这种方式并不是最优的方式。

下一次再教你如何使用 functool 模块来做到今天的效果(代码更加直观方便),并且自己做一个比他更好的工具函数

记得点赞,转发!谢谢支持!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据大宇宙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 字典就是最好的参数仓库
  • 字典合并
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档