你能体会那种写 Python 时不用 import 的幸福吗

开发 前端
我们有时候写着写着发现需要引入新的库,就又得回到前面,再 import 一波,如果你用的是类似 jupyter 的编辑器,你添加完 import 语句之后还得再运行一下代码块。

[[386980]]

 在写 Python 程序的时候,我们需要依赖一些库,所以一开始我们总是:

  1. import xxx as xxx 
  2.  
  3. from xxx import xxx 

我们有时候写着写着发现需要引入新的库,就又得回到前面,再 import 一波,如果你用的是类似 jupyter 的编辑器,你添加完 import 语句之后还得再运行一下代码块。

[[386981]]

这些操作往往都是重复性的,比如我们玩数据可视化的时候,总会这样去 import 相关的库:

  1. import pandas as pd 
  2.  
  3. import numpy as np 
  4.  
  5. import seaborn as sns 
  6.  
  7. ... 

这时候有人就想到,哇靠,真麻烦,能不能不要每次都自己导入这些库啊?你已经是个成年人了,能不能在我写代码调用到相关库的时候,你给老子自动导入啊?别报错啊!

像这样:

你能体会那种写 Python 时不用 import 的幸福吗

可以看到,在这里不用事先 import ,而是当使用到相关库的时候,自动在第一行帮我们 import,幸福啊!

怎么弄的咧?

接下来小帅b要给你分享的是——Pyforest,一个可以自动帮你 import 的库。

这个库把一些流行的数据分析需要的 「import 语句」都封装起来了。

它具有「懒加载」的功能,也就是说,当你安装完之后,你在代码中使用到相关的库的时候,它就会帮你自动 import。而那些封装好了的 import 语句,在你没有使用到时是不会帮你一股脑 import 进来的。

[[386982]]

你可以通过 pip 安装一波:

  1. python pip install --upgrade pyforest 

安装完成后,你的 IPython 启动配置会默认添加 pyforest_autoimport.py,这样我们在使用 IPython 或者 Jupyter 的时候,可以直接使用它的功能,你在写代码时连它本身都不需要 import:

  1. import pyforest 

比如当你安装完之后,你可以直接打开 IPython,在不用写 import 语句的情况下,直接使用相关的库:



你可以看到,我这里的操作是直接使用库的简称,这是因为人家在写 LazyImport 的时候,已经按我们写代码的习惯安排好了:


怎么样?

当然,这里面封装的 import 语句更多是做数据可视化相关的,那么如果你自己还想添加一些别的 import 语句进去,咋整呢?

很简单,进入到你安装的 pyforest 中,在 user_imports.py 中添加即可,一般路径如下:

  1. ~/.pyforest/user_imports.py 

比如,我在这里添加一个 import requests 的语句:


接着我就可以在不用导入 requests 的情况下,直接请求了:


你完全可以根据你自己的习惯,在 user_imports.py 添加 import 语句。

妈妈再也不用担心,每次依赖库的时候都需要写 import 了。

[[386983]]

这个库比较适合在Jupyter Notebook, Jupyter Lab 或者 IPython 中使用,如果你想在别的地方也使用它,可以先导入 Pyforest,接着就可以使用你已经封装好的 import 语句,像这样:


OK,以上就是小帅b今天给你带来的分享,如果你之前没了解过这个,不妨去试试,它会让你心情变好的呢,希望对你有帮助。

 

责任编辑:华轩 来源: 今日头条
相关推荐

2018-04-17 11:47:06

if代码参数

2019-07-10 08:56:58

代码互联网网络

2018-11-26 09:40:39

Python坏习惯编程语言

2017-11-30 19:23:24

2015-03-30 10:56:14

大数据大数据价值

2015-07-17 10:02:48

写代码

2017-12-19 15:20:47

代码应用架构

2015-10-28 14:32:27

大数据幸福

2012-10-22 16:21:15

程序员编程

2022-01-18 20:27:32

Pinia.jsVue.jsVue

2018-02-06 15:19:47

2012-12-04 16:09:17

2022-06-24 08:20:04

CAP网络通信

2022-07-10 20:51:25

IT数字化K8S

2009-05-04 15:26:59

Linux兼容性能

2010-03-18 16:51:00

python语法入门

2019-08-16 08:50:52

代码日志程序员

2023-11-03 08:28:19

2011-11-21 14:10:53

C#

2012-12-05 11:16:40

测试
点赞
收藏

51CTO技术栈公众号