import语句写烦了,怎么办?

每次写数据相关的代码时都会习惯性地先写一堆import语句,不管用得到用不到,先在文首默一遍再说。

import语句写烦了,怎么办?_第1张图片

或者:

虽说Ctrl+C和Ctrl+V也很方便,但是每次都要先“抄一次”也很烦。

那么有没有什么好的解决办法?

Python有一个模块能解决这个问题,无论要导入多少模块,只要使用一行import语句就能完成所有的模块的导入。

而且支持像import numpy as np这样的别名操作。

下面我们花三分钟学习下如何使用它。

懒人专用 -- pyforest模块

安装

pip install pyforest

使用

装好该模块之后,我们可以在import语句中直接使用它:

import语句写烦了,怎么办?_第2张图片

from pyforest import *

x = np.empty([3,2], dtype = int) 
print (x)

然后,发现我们竟然没有导入numpy模块竟然也能成功运行这段代码!!

是不是很神奇?

再试试别的模块:

import语句写烦了,怎么办?_第3张图片

from pyforest import *

x = np.arange(1,11) 
y =  2  * x +  5 
plt.title("Matplotlib demo") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y) 
plt.show()

也是成功运行的:

import语句写烦了,怎么办?_第4张图片

剖析原理

我顺着pyforest摸入到了模块内部:

import语句写烦了,怎么办?_第5张图片

我发现了一个不得了的代码文件,里面大大小小写了百来个模块的名字:

import语句写烦了,怎么办?_第6张图片

我还发现一个叫LazyImport的玩意,它能实现模块「懒导入」的操作。

import语句写烦了,怎么办?_第7张图片

懒导入:不用不导,用到才导。

import语句写烦了,怎么办?_第8张图片

部分支持的模块

我大概数了下,大概支持了百来个模块的懒导入,你们如果有兴趣可以查看它的源码,看看是否能支持你代码模块的懒导入。

实现拓展

在测试的时候,我一时兴起写了一段使用requests模块的爬虫代码,很意外,竟然报错了!

import语句写烦了,怎么办?_第9张图片

编辑器也给出提示,requests这个模块未被定义。

我决定尝试去简单修改下pyforest模块中的源码,把requests也实现懒导入:

然后回到我的爬虫代码界面上,

import语句写烦了,怎么办?_第10张图片

发现warning提示消失了,尝试运行下代码:

能成功运行。

后记

pyforest模块虽然好用,如果不是懒癌重度患者,我还是不推荐使用用这种方式进行导包操作。

偶尔在小程序上偷个懒用用问题不大,但是在一些中大型项目中用了这个模块,估计会被...

你可能感兴趣的:(python,matplotlib,开发语言)