• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

import语句写烦了,怎么办

武飞扬头像
Python妙妙屋
帮助1

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

学新通

或者:

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

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

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

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

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

懒人专用 -- pyforest模块

安装

pip install pyforest

使用

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

学新通

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

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

是不是很神奇?

再试试别的模块:

学新通

  1.  
    from pyforest import *
  2.  
     
  3.  
    = np.arange(1,11
  4.  
    =  2  * x    5 
  5.  
    plt.title("Matplotlib demo"
  6.  
    plt.xlabel("x axis caption"
  7.  
    plt.ylabel("y axis caption"
  8.  
    plt.plot(x,y) 
  9.  
    plt.show()

也是成功运行的:

学新通

剖析原理

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

学新通

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

学新通

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

学新通

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

学新通

部分支持的模块

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

实现拓展

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

学新通

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

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

学新通

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

学新通

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

学新通

能成功运行。

后记

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

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgafkcg
系列文章
更多 icon
同类精品
更多 icon
继续加载