gpt4 book ai didi

python - 什么是 %pylab?

转载 作者:IT老高 更新时间:2023-10-28 20:30:41 29 4
gpt4 key购买 nike

我不断看到人们在各种代码片段中使用 %pylab,尤其是使用 iPython。但是,我看不到“学习 Python”(以及我拥有的其他几本 Python 书籍)中的任何地方提到了 %pylab,也不确定它的含义。

我相信答案很简单,但是谁能启发我?

最佳答案

%pylabipython中的魔术函数

ipython 中的魔术函数总是以百分号 (%) 开头,后面没有任何空格,后面是一个小文本字符串;从本质上讲,ipython 魔术函数定义了对交互式工作特别有用的快捷方式,例如,让您了解魔术函数在 python 中的工作原理,这是我最喜欢的一些:

  • 查看cwd目录内容:

    %ls   
  • 要在 ipython 中使用空命名空间运行脚本,输入空格,然后输入脚本名称:

    %run     
  • 执行代码片段(尤其是多行片段,这通常会导致 _IndentationError_ 被抛出):

    %paste

当在 IPython 提示符处输入 %pylab 魔术函数时,它会触发Matplotlib 中各种模块的导入。

哪些模块?好吧,那些包含在 pylab 接口(interface)下的那些。

很棒的 Matplotlib 绘图库有 两个 不同的接口(interface):一个是 Python 接口(interface),一个是原始的类 MATLAB 接口(interface),用于在交互式提示下绘图。

前者通常是这样导入的:

from matplotlib import pyplot as PLT

确实,pyplot有自己的神奇python魔术函数

%pyplot

为什么有两个不同的接口(interface)? Matplotlib 的原始接口(interface)是 pylab;只要后来是添加了pythonic接口(interface)。脚本和应用程序开发不是项目开始时 Matplotlib 的主要用例,在python shell 是。

Apparently John Hunter(Matplotlib 的创建者)想在 python 中包含交互式绘图,因此他向 Fernando Perez(FP)的 IPython 项目提交了一个补丁。 FP当时是一名博士生,并告知JH他将在一段时间内无法复习该路径。因此,JH 创建了 Matplotlib。意义在于,Matplotlib 最初是一个基于 shell 的绘图方案。

pylab界面确实更适合交互工作:

from pylab import *

x, y = arange(10), cos(x/2)
plot(x, y)
show()

并使用 pyplot 接口(interface):

from matplotlib import pyplot as PLT
import numpy as NP

x, y = NP.arange(10), NP.cos(x/2)
fig = PLT.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x, y)
PLT.show()

关于python - 什么是 %pylab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20961287/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com