当前位置: 首页 > 后端技术 > Python

如何让你的实用函数在Python中全局可用?

时间:2023-03-26 13:56:19 Python

我们在开发Python项目的时候,经常会写一些实用函数。为了在项目中的多个.py文件中使用这个工具功能,你不得不在多个地方导入它,非常麻烦。例如下面的例子:A.py和C.py文件都使用了clean_msg工具函数,那么就必须从util.py中导入clean_msg。这似乎是理所当然的。但是今天在看icecream/builtins.py[1]的源码的时候突然发现了一个高级用法,可以让我们像使用Python的print函数一样使用tool函数,不用导入,而是使用直接地。先来看看效果:大家注意A.py和C.py,我没有导入clean_msg而是直接使用了这个函数。它工作得很好。关键原理在入口文件main.py里,我框出来的3行:所以in的代码可以不用导入直接使用。现在我们只需要在builtins模块中注册我们自定义的实用函数,使其与内置函数具有相同的效果即可。如果想将一个实用函数注册为内置函数,只需要在入口文件中导入,然后使用setattr将其设置为builtins模块的属性即可。第二个参数是你要全局调用的名字,第三个参数是你需要注册的实用函数。该名称可以与效用函数的名称不同,只要它不与现有的内置函数重复即可。注册完成后,在本项目的整个运行过程中,任何.py文件都可以通过注册的名称直接调用本工具函数,就像调用内置函数一样。以上就是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能领取大量学习资料。或者去编程学习网了解更多编程技术知识。