Python数据科学手册 第一章IPython



第一章 IPython





第一章 IPython
  • 当有人找你帮忙解决问题时,大多数时候,重要的不是知道答案,而是知道如何找到答案。
  • Ipython可以通过符号?用于浏览对象、函数等的文档,符号??浏览源代码,Tab键用于自动补全。、
  • 常用的魔法命令
    • 粘贴代码块%paste %cpaste
      • 当从外部粘贴代码到解释器时,常常会出现不可预料的错误,这时可以用%paste魔法函数解决包含符号的多行输入问题
      • 也可以使用%cpaste,该命令打开一个交互式多行输入提示,可以在这个提示下粘贴并且执行一个或者多个代码块。
    • 执行外部代码 %run
      • 在ipython会话中运行之前的代码可以使用%run魔法命令
        • 比如之前有一个scrip.py文件,可以在ipython中使用
          • %run scrip.py
        • 来运行该文件,之后该文件中的所有函数都可以直接在ipython使用。
    • 计算代码运行时间 %timeit
      • %timeit可以自动计算接下来一行的python语句的执行时间
        • %timeit python语句
      • 对于多行语句,可以使用%%timeit来处理多行输入。
    • 获得可用魔法函数的通用描述以及一些示例:%magic
    • 获得所有可用魔法函数的列表:%lsmagic
  • IPython输入和输出
    • IPython中有In[1]:/Out[1]这样的提示,该提示其实是In和Out的Python变量。
    • In对象是一个列表,按照顺序记录所有的命令。
    • Out对象是一个字典,它将输入数字映射到相应的输出。
    • 如果希望使用以前计算的结果,可以使用类似Out[2]**2 + out[3]**2这样的方式来调用以前的结果
    • 禁止输出
      • 当执行命令时,不希望该命令进行输出,则可以在该命令后添加分号;,该输出结果就不会显示在屏幕上,也不会存储在out路径下。
    • 一次性获取此前所有的输入历史:%history
      • 参数 -n 1-4 :输出倒数1-4条
    • 重新执行部分历史命令:%rerun
    • 将部分历史命令保存到一个文件中:%save
  • IPython和shell命令
    • 在IPython终端可以直接执行shell命令的语法,一行中任何在!之后的内容将不会通过Python内核运行,而是通过系统命令行运行。
      • 但不能直接通过!cd来导航文件系统,原因是notebook中的shell命令时在一个临时的分支shell中执行的,如果希望用一种更持久的方式更改工作路径,需要使用%cd魔法命令:
        • %cd myproject
      • 这种方式被称作自动魔法函数,可以通过%automagic魔法函数进行翻转
      • 其它可用的类似shell的魔法函数还有%cat %cp %env %ls %man %mkdir %more %mv %pwd %rm %rmdir
      • 如果automatic被打开,以上任何一个魔法命令都可以省略%符号,这样就可以把IPython提示符当作普通shell一样使用
  • 代码分析与计时
    • %time:对单个语句的执行时间进行计时
    • %timeit:对单个语句的重复执行进行计时,以获得更高的准确度
    • %prun:利用分析器运行代码
    • %lprun:利用逐行分析器运行代码 需要安装line_profiler包
    • %memit:测量单个语句的内存使用 需要安装memory_profilter包
    • %mprun:通过逐行的内存分析器运行代码 需要安装memory_profilter包


你可能感兴趣的:(MachineLearning)