美文网首页我爱编程
IPython的使用(二)

IPython的使用(二)

作者: 5f2a6061653d | 来源:发表于2018-08-09 19:38 被阅读310次

    IPython魔术命令

    IPython之所以比默认的“Python shell”交互性更强、使用更方便,是因为IPython中包含很多使用方便的魔术命令,接下来重点讲解其中比较常用的一些魔术命令。

    %run命令

    在IPython会话环境中,所有文件都可以通过%run命令来运行Python程序,输入“%run 路径+Python文件名称”即可,具体如下所示。
    先在D:\py文件中创建1.py文件,代码如下:

     lst = [i for i in range(100) if i % 2 == 0]
     print(lst)
    

    然后在IPython会话环境下输入%run命令,代码如下:

    %run D:\py文件\1.py
    

    上述案例实现了将100以内的偶数输出,使用%run命令来执行单个Python文件,上述案例运行结果如下图所示。


    运行结果.jpg

    %timeit与%time命令

    在一个交互式会话中,使用%timeit魔术命令可快速测量代码运行时间。相同的命令会在一个循环中多次执行,多次运行时长的平均值作为该命令的最终评估时长。-n选项可以控制命令在单词循环中执行的次数,-r选项控制执行循环的次数。
    上述%timeit是多次执行代码的平均时间,而%time命令是一次执行代码的总体时间。

    %paste命令

    %paste命令是将剪切板中复制的代码直接粘贴到IPython中并自动执行,具体如下所示:
    记事本文件中编写了一个计算a、b两数之和的代码,如下图所示。现将文件中代码进行复制(Ctrl+C)。


    记事本中代码.jpg

    之后在IPython中输入命令%paste并直接回车(Enter键),如下图所示。


    %paste命令的使用.jpg
    输入a、b(5、6)值后执行结果如下图所示。
    输入a、b值的执行结果.jpg

    %cpaste命令

    %cpaste命令与%paste命令类似,也是粘贴文本,但有所不同的是%cpaste命令在输入后会出现提示信息,如下图所示。

    %cpaste命令提示信息.jpg
    图中提示信息的意思是可不断粘贴代码到IPython中,直到输入“--”并回车或使用Ctrl+D结束粘贴,粘贴过程如下图所示。
    粘贴代码.jpg
    将所有需粘贴的代码粘贴完成后,输入“--”并回车,结束粘贴,如下图所示。
    结束粘贴.jpg
    在上图中,当结束了代码的粘贴,程序直接自动执行,因此输入a、b(5,6)的值之后运行结果如下图所示。
    程序粘贴完成直接自动运行.jpg
    %cpaste命令在需粘贴的代码量比较大时,可实现代码的分步粘贴,粘贴完成可手动结束,且不用担心代码被提前执行,极大方便了操作者。
    注意:在粘贴过程中,若遇到粘贴代码出现错误,须终止程序,可使用Ctrl+C提前终止%cpaste命令的提示符。

    %reset命令

    %reset命令是指删除interactive命名空间中全部的变量名(interactive命名空间是存储Python变量和名称的空间)。%reset命令的使用如下图所示。


    %reset命令的使用.jpg

    在上图中,程序定义了变量a和b,并可直接输出变量a和b的值。当执行%reset命令并输入“y”(表示同意删除变量)后,再输出变量a和b程序直接报错,说明%reset命令已经将变量删除。

    %xdel命令

    %xdel命令是删除单个变量的引用。%xdel命令的使用如下图所示。


    %xdel命令的使用.jpg

    在上图中,定义了a、b两个变量,并分别赋值为3、5,在使用%xdel命令之前,变量a,b均可正常调用,但当使用%xdel命令删除变量b之后,再调用变量a正常输出3,调用变量b则直接报错,说明变量b已被删除。

    %hist命令

    %hist命令是查看历史的命令。%hist命令的使用如下图所示。


    %hist命令的使用.jpg

    在上图中,执行%hist命令,然后直接回车,IPython将历史内容直接输出。

    其他常见的魔术命令

    %pdb命令

    IPython带有一个强大的调试器,无论何时控制台抛出了异常,都可使用%debug魔术命令在异常点启动调试器,接下来就能在调试模式下访问所有的本地变量和整个栈回溯,可使用u和d来向上和向下访问栈,使用q退出调试器。在调试器中输入?可查看所有可用命令。
    同时也可使用%pdb魔术命令来激活IPython调试器,如此,每当异常抛出时,调试器就会自动运行。

    %pylab命令

    %pylab魔术命令可使NumPy和Matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作、交互可视化特性。它能够让开发人员在控制台进行交互式计算和动态绘图。

    %logstart命令

    %logstart命令是开启IPython日志,其中使用格式为“%logstart [logname [logmodel]]”,其中“[]”中内容为可选,logname是日志的保存路径,logmodel是日志模式,共分为四种,over:若存在log,则直接覆盖之前的log;backup:默认模式,若存在log则直接将之前的log备份;append:在之前log中追加;rotate:回滚。

    %magic命令

    %magic命令是查看魔术命令,执行%magic命令可直接显示所有魔术命令的详细文档。

    %debug命令

    从最新的异常跟踪的底部进入交互调试器。

    %quickref命令

    显示IPython的快速参考。

    相关文章

      网友评论

        本文标题:IPython的使用(二)

        本文链接:https://www.haomeiwen.com/subject/khwxbftx.html