利用字典简化你的Python代码,原来还有这种技巧
前言
最近在研究 matplotlib 的最佳学习方式,遇到一个常见又好像无法避免的问题。
任务是做如下报告页面:
其中的文字也是用 matplotlib 输出
其实用 matplotlib 输出文字到画面上也不费劲,核心代码如下:
但是,上面连续调用 axes.text 这个方法,并且这个方法参数挺多的,很明显代码中出现了大量重复的参数设置。
有没有什么方式既可以简化代码,又可以灵活设置参数?
今天我们就来探讨最基础的一种解决方式
字典就是最好的参数仓库
字典的结构其实与函数的参数有很多相似之处:
都是 key value 键值对
key 相当于参数名字,value 相当于参数的值
因此,python 特意为此做了字典解包参数的语法:
以前我们就学习过,这里不再展开
因此,我们可以把默认设置放进字典,每次调用时,解包进去:
这里为了避免把参数名字写成字符串,特别用了 dict 函数,它更加贴合方法参数的调用习惯
但是,有时候需要覆盖默认的设置,这可以做到吗?
字典合并
总是有许多文章告诉你很多花式合并字典的方式,但是你却很少知道哪里需要用到。
现在,就是使用的最佳时机。
假如我们需要覆盖原有的设置,只需要合并字典即可:
行18、21:利用 dict(旧字典,其他参数) ,即可重新构造新的字典,并且后面设置的 键值对 能够覆盖第一个参数的字典
不管你用什么方式合并字典,需要注意的是,不要修改了原有的字典
此时你可能就理解,为什么 python 还需要新增字典合并的新语法,就是因为原有的字典合并是比较啰嗦。
如果你使用 python 3.9 ,那么你可以这么写:
字典1 | 字典2 ,即可合并
你学会了没有?
我必须告诉你,这种方式并不是最优的方式。
下一次再教你如何使用 functool 模块来做到今天的效果(代码更加直观方便),并且自己做一个比他更好的工具函数
赞 (0)