ipython的使用技巧整理

IPython 是一个强大的交互式 Python 环境,提供了许多高级功能和快捷键,以下是非常详细的 IPython 使用技巧整理,覆盖了每个知识点(但本文是基于有一定基础的同学看的)

IPython的使用基础:

一、安装与基本操作
  1. 安装Anaconda
    • 建议直接下载安装Anaconda,其中包含丰富的库,以及我们需要使用的IPython。所有的操作都一步到位,具体从Pycharm调用Anaconda可参考百度。
  2. 新建工程文件
    • 选择Jupyter Notebook,即IPython Notebook file,文件的后缀为.ipynb。
  3. 编辑代码
    • 在每个模块化的Cell中编写代码,单步调试,反复论证。
    • 最终调试通过后,点击重置符号Restart kernel,按顺序最后过一遍程序,达到重新编号同时检验代码先后顺序的作用。
    • 最后将所有代码汇总在一个.py文件中,作为最终的成果。
    • 当程序全部调通后,将其放入checkpoint文件夹中作为最终的notebook文件,以供分享和展示。
二、快捷键与常用命令
  1. Tab键
    • 用于当前工作目录存在的文件和目录补全。
  2. 符号?和??
    • ?:只能放在名字最后,查看详细信息。
    • ??:可以查看源代码(如果有)。
  3. 通配符*
    • 可以放在名字中间,结合?一起,补全功能比tab键还强大。
  4. 快捷键(MacOS)
    • Ctrl+C:任何时候停止ipython运行;清除当前命令行所有输入。
    • bookmark:永久设置某些目录为某个名字,cd名字,直接跳转,非常好用。
    • ls, cd, pwd:列出当前目录文件,切换目录,显示当前目录(由于编码问题对中文不友好,有中文时用!cd代替)。
    • hist和dhist:hist显示历史命令,很多可选参数,可用于制作命令说明;dhist显示历史目录,用cd-n可以直接跳转。
    • run:在ipython环境运行.py脚本,运行完后变量和函数都在当前环境,可直接使用。
    • log系列:将ipython交互过程记录下来,logstart开始记录、logstop停止、logoff暂停, logon继续,这个系列用于制作可以下次可以执行.py。
    • time和timeit:测试单行命令执行时间,timeit执行次数更多,给出结果更精确。
    • prun:测试函数调用的执行时间,按照函数汇总。
    • lprun:测试函数内单行执行时间,ipython下运行!ipythonprofilecreate创建默认配置文件,看好创建的目录,在ipython_config.py 内加一行c.TerminalIPythonApp.extensions=['line_profiler'] ,之后用!pip install line_profiler安装这个包,重启ipython就可以应用这个magic命令了。
三、在Pycharm中使用IPython
  1. 安装IPython
    • 安装IPython后,查看Pycharm设置,确保Console的通用设置Use IPython if available选项打勾。
  2. 打开Python Console窗口
    • Tools- Python Console,屏幕下方就可见IPython的交互式界面。
  3. 运行.ipynb文件
    • 选中代码行,Alt+Shift+E。
    • 或选中,鼠标右键-Execute Line in Console。
四、其他技巧
  1. 表示在选定In[]下增加一行输入
    • (Ctrl+X)表示剪切(而ipython没有删除,所以这个很常用)。
    • (Ctrl+C)复制之后的运行In[index]会增加。
    • (Ctrl+V)粘贴在所选代码的下一行。
    • 表示将输入序号重置,这样就相当于一个Notebook文件中有两个分别独立的文件,之前的变量定义,库的导入,对重置后的代码无效,所以强烈建议不要用,但对于另起炉灶的还是可以考虑,这样就和之前的变量没有关系了。
    • 同时右键Split Cell很有用,可以拆分Cell,对应的合并也是一样。
  2. 关于文本标题的编辑以及markdown
    • 主要用于说明注释,这里就不详细说明了。
五、通过浏览器打开IPython Notebook
  1. 设置IPython Notebook的默认URL
    • 可以通过浏览器来打开这个链接,在设置对话框中的IPython Notebook中指定了其默认的URL。

 IPython的使用技巧整理详细说明:

一、基础使用

  1. 启动 IPython

    • 在命令行输入 ipython 或 ipython3 启动。
    • 可以添加参数,如 --profile=default 选择特定的配置文件。
  2. 退出 IPython

    • 使用 quit() 或 Ctrl+D

二、内省和查询

  1. ?:在命令行输入 ? 可以显示 IPython 的简介。
  2. object?:在变量后加上 ? 可以显示变量的详细信息,包括类型、值、文档字符串等。
  3. object??:在变量后加上 ?? 可以显示对象的源代码(如果可用)。

三、历史命令和自动补全

  1. 历史命令

    • 使用上下箭头键浏览历史命令。
    • %history 或 hist 查看历史命令列表。
    • %history -n <number> 执行历史命令列表中的特定命令。
    • %history -g <pattern> 搜索历史命令中匹配模式的命令。
  2. 自动补全

    • 在输入函数、变量或模块名时,按 Tab 键自动补全。
    • 如果有多个补全选项,连续按两次 Tab 键列出所有选项。
    • 可以使用 %config IPCompleter.greedy=True 启用贪婪自动补全,即尽可能多地补全。

四、魔法命令

  1. 行魔法

    • 以 % 开头,只对当前行有效。
    • 常用的行魔法包括:
      • %run script.py:运行外部 Python 脚本。
      • %timeit:测量代码执行时间。
      • %matplotlib inline:在笔记本中直接显示 matplotlib 图形。
      • %load_ext extension_name:加载扩展模块。
      • %alias alias_name command:创建别名。
  2. 单元格魔法

    • 以 %% 开头,对整个单元格有效。
    • 常用的单元格魔法包括:
      • %%timeit:测量整个单元格的执行时间。
      • %%writefile <filename>:将单元格中的内容写入文件。
      • %%bash:在单元格中执行 Bash 命令。

五、快捷键

  1. 光标移动

    • Ctrl+a:移到行首。
    • Ctrl+e:移到行尾。
    • Ctrl+b 或左箭头:光标左移。
    • Ctrl+f 或右箭头:光标右移。
    • Ctrl+p 或上箭头:上一条历史命令。
    • Ctrl+n 或下箭头:下一条历史命令。
  2. 字符操作

    • Ctrl+d:删除字符。
    • Ctrl+Backspace:删除前一个单词。
    • Ctrl+k:剪切当前行。
    • Ctrl+y:粘贴。
  3. 命令编辑

    • Ctrl+a:全选。
    • Ctrl+c:复制。
    • Ctrl+v:粘贴。
    • Ctrl+x:剪切。
    • Ctrl+z:撤销。
    • Ctrl+Shift+z:重做。
  4. 其他快捷键

    • Ctrl+l:清屏。
    • Ctrl+r:反向搜索历史命令。
    • Ctrl+s:保存当前工作区。
    • Ctrl+Enter:运行当前单元格。
    • Shift+Enter:运行当前单元格并跳到下一个单元格。

六、与操作系统交互

  1. 使用 ! 前缀执行系统命令,如 !ls 列出当前目录文件。
  2. 可以将系统命令的输出赋值给变量,如 output =!ls
  3. 使用 %cd 魔法命令切换当前工作目录。

七、数据分析和可视化

  1. 结合 pandasnumpymatplotlib 等库进行数据分析和可视化。
  2. 可以使用 %matplotlib notebook 或 %matplotlib inline 进行交互式绘图。
  3. 使用 %pylab 魔法命令导入常用的科学计算库。

八、代码调试

  1. 使用 %pdb 魔法命令在代码执行出错时自动启动调试器。
  2. 使用 %debug 魔法命令进入调试器。
  3. 在调试器中,可以使用 p 命令打印变量的值,n 命令执行下一行代码,c 命令继续执行直到下一个断点。

九、自定义配置

  1. 通过配置文件(如 ipython_config.py)自定义 IPython 的行为。
  2. 可以设置快捷键、魔法命令、启动选项等。
  3. 使用 %config 魔法命令查看和修改当前配置。

十、扩展模块

  1. 使用 %load_ext 加载扩展模块,如 %load_ext autoreload
  2. 扩展模块可以提供额外的功能和魔法命令。

十一、交互式绘图

  1. 使用 %matplotlib notebook 或 %matplotlib inline 进行交互式绘图。
  2. 可以使用 plt.plot()plt.scatter() 等函数绘制图形。
  3. 使用 plt.show() 显示图形。

十二、并行计算

  1. 使用 %parallel 魔法命令进行并行计算。
  2. 可以使用 @parallel 装饰器将函数并行化。

希望大家喜欢,喜欢麻烦点个赞,收藏一下。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值