当前位置: 首页 > news >正文

import语句写烦了,怎么办?

每次写数据相关的代码时都会习惯性地先写一堆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模块虽然好用,如果不是懒癌重度患者,我还是不推荐使用用这种方式进行导包操作。

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

相关文章:

  • 站中站网站案例/seo简单速排名软件
  • 网站建设需要些什么东西/阿里云com域名注册
  • 1核2g 做网站/app拉新渠道商
  • 云空间网站开发/一级域名好还是二级域名好
  • 望城做网站/做网店自己怎么去推广
  • 邯郸做移动网站的公司/互联网推广与营销
  • 互联网寒冬下的面经总结
  • 【设计模式】我终于读懂了装饰者模式。。。
  • 在线图片转文字怎么操作?
  • 机器学习模型-BUPA liver disorders-探索饮酒与肝炎关系(论文,科研,医疗信息化诊断系统用)
  • React扩展:fragment、Context
  • InnoDB详解2
  • 软件需求说明书(GB856T——88)基于协同的在线表格forture-sheet
  • 动态规划——线性dp
  • python10_IO目录处理
  • PostgreSQL实用技巧
  • Linux tracepoint 简介
  • java 瑞吉外卖day6 移动端 套餐 菜品展示 购物车加减,清空