import语句写烦了,怎么办?

您所在的位置:网站首页 switch被办了怎么办 import语句写烦了,怎么办?

import语句写烦了,怎么办?

2022-12-24 05:07| 来源: 网络整理| 查看: 265

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

或者:

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

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

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

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

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

懒人专用 -- pyforest模块 安装 pip install pyforest 使用

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

from pyforest import * x = np.empty([3,2], dtype = int)  print (x)

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

是不是很神奇?

再试试别的模块:

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()

也是成功运行的:

剖析原理

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

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

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

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

部分支持的模块

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

实现拓展

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

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

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

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

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

能成功运行。

后记

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3