美文网首页
第一章—IPython:超越python(笔记)

第一章—IPython:超越python(笔记)

作者: zzxzzxzzx | 来源:发表于2018-12-24 21:30 被阅读0次

    命令行输入ipython可打开ipython解释器(Anaconda、EPD的python发行本本身已经携带);命令行输入 jupyter notebook可打开ipython shell基于浏览器的图形界面。

    1.每一个python对象都有一个字符串型的引用——docstring,用于保存该对象的简要介绍和使用方法。其内容可用help()函数获取,或者使用ipython shell 独有的?(获取简介和用法)、??(获取python源代码,但如果该对象是使用其他语言编写的则无法获取源代码,此时??与?作用相同)。

    2.为自创的函数创建docstring的方法是:在函数定义——def 函数名():之后的一行使用"""docstring内容"""的形式进行。

    4.ipython允许使用与linux类似的Tab补全功能:L.xxxTab(这里的Tab指按键)

    按照python的惯例,_xxx(即前面带有下划线)表示私有的属性或方法;python私有属性和方法一般使用dunder方法即双下划线法命名

    import xxxTab(Tab指按键)也是可以的

    from xx import xxTab(Tab表示按键)也是允许的

    5.通配符匹配

    例:*win,可列出所有以win结尾的对象 ;str.*find*?可找到名称中包含find的字符串方法

    6.ipython快捷键

    ctrl+a光标移到本行开头

    ctrl+e光标移到本行结尾

    ctrl+k从光标开始剪切到行末

    ctrl+u从行首位开始剪切到光标

    ctrl+y将剪切的文本粘帖到光标所在位置

    ctrl+t交换前两个字符

    通过history可显示历史命令(上下箭头用于获取前/后一个命令)

    ctrl+r用于对历史命令的反向搜索

    (1)按下ctrl+r,显示(reverse——search),在其后输入字符,将会自动填充与之相近的最近命令,再按一下ctrl+r则匹配次近的一个

    (2)def按下ctrl+P,则查找以def开头的最近命令,再按一次,查找次近.....

    7.魔法命令——行魔法(以%作前缀),单元魔法(以%%作前缀)

    (1)用于粘帖代码块的%paste和%cpaste(用于防止粘帖多行代码块时的缩进、解释符号错误)

          %cpaste:打开一个交互式多行输入提示,从而使用户可在该提示下粘帖并执行代码块(一个或多个)

          %paste:该命令后跟代码块,可直接应用

    (2)执行外部代码的%run

        例:%run mysjhdsh.py 则运行mysjhdsh.py程序

            更具体的用法,请使用%run?查看

    (3)代码运行时间%timeit

            a计算接下来一行代码的运行时间,接下来一行的意思是,与%timeit同处一个代码块的下一行,而不能先执行%timeit,再输入代码

            b.应用%%timeit(魔法单元),则可以计算接下来一行代码的运行时间

    (4)魔法命令?,用于查询魔法命令注释

        %magic用于查看魔法函数的通用描述和一些实例 :%lsmagic用于查看可用魔法函数列表

    (5)%history -n 1-4  打印前四条历史命令

      (6)%rerun 重新执行部分历史命令

      (7)%xmode 用于捕获/控制异常,用于轨迹追溯时控制打印信息的数量

    (8)%save保存部分历史命令

    (9)捕获异常后%debug打开调试界面;%pdb用于控制发现异常时是否自动启动调试器;github.com/gotcha/ipdb可查看调试命令

    8.输入输出对象

      ipython中的In,Out其实分别是一个预定义的列表和字典,用于记录所有输入命令/所有(将输入数字映射到的)输出

    9._[x]等价于Out[x]

    10.行尾加分号——》禁止输出(输出既不显示,也不存入Out路径下,只是默默执行了)

    11.可用!作为前缀在ipython执行shell 命令,例如:!pwd  !ls等(备注:!cd并不工作,应使用%cd,因为Notebook中的命令是在shell的分支里进行的)

    注意:%automatic可用于设定一些shell魔法函数不需%即可执行

    12.可用通过赋值符将shell命令的输入存入一个变量

    例:xx=!pwd

    13.type(x)查询x的类型

    14.代码分析和计时

    ————过早优化是最大的错误!!!!!!!!

    A代码段计时%time;%timeit

    B分析整个脚本%prun

    C逐行分析%lprun(需要 pip install line_profiler;%load_ext line_profiler)

    D内存分析%memit和%mprun(需要memory_profiler包)

    15.nbviewer.ipython.org提供了一些ipython实例

    16建议浏览ipython主页和(有趣的ipython集合);建议关注ipython主要贡献者Fernando Perez和Brian Granger在PyCon,SciPy,PyData会议中的发言。

    相关文章

      网友评论

          本文标题:第一章—IPython:超越python(笔记)

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