IPython 使用技巧整理

news2024/11/24 16:03:10

IPython 是一个强大的交互式 Python shell,广泛用于数据分析、科学计算和开发工作。本文将整理一些 IPython 的实用技巧,帮助你更高效地使用 IPython。
在这里插入图片描述

目录

  1. 快速启动和退出
  2. 魔法命令
  3. 高效的代码编写
  4. 变量和对象信息
  5. 历史命令
  6. IPython 扩展
  7. 错误调试
  8. 与 Jupyter Notebook 的集成

1. 快速启动和退出

启动 IPython

你可以在终端中直接输入 ipython 启动 IPython shell:

$ ipython

退出 IPython

你可以使用以下命令退出 IPython:

exit

或者

quit

2. 魔法命令

IPython 提供了丰富的魔法命令,可以大大提升你的工作效率。这些命令以 %%% 开头。

查看所有魔法命令

你可以使用 %lsmagic 查看所有可用的魔法命令:

%lsmagic

常用魔法命令

  • %timeit:用于计时一段代码的执行时间。

    %timeit sum(range(1000))
    
  • %who%whos:查看当前命名空间中的变量。

    %who
    %whos
    
  • %reset:重置命名空间,删除所有变量。

    %reset -f
    

3. 高效的代码编写

自动补全

在 IPython 中,你可以通过按 Tab 键自动补全变量名、函数名等。这在编写长变量名或不确定具体名称时非常有用。

多行编辑

使用 Ctrl+Enter 可以在当前行的下方插入新行,并保持在同一代码单元内继续编辑。这样可以方便地编写多行代码,而不必每次都按 Enter 执行。

4. 变量和对象信息

获取变量类型和内容

你可以使用 type() 获取变量的类型,用 print() 输出变量内容:

a = 42
print(type(a))  # <class 'int'>
print(a)        # 42

对象的详细信息

使用 ? 可以获取对象的详细信息,如文档字符串和定义位置:

a?

使用 ?? 可以获取更多详细信息,包括源代码(如果可用):

a??

5. 历史命令

查看命令历史

使用 %history 可以查看命令历史:

%history

运行历史命令

可以使用 !n(其中 n 是命令编号)运行历史命令:

!10

导出历史命令

可以将命令历史导出到文件:

%history -f history.py

6. IPython 扩展

加载扩展

你可以使用 %load_ext 加载 IPython 扩展。例如,加载 line_profiler 扩展:

%load_ext line_profiler

卸载扩展

使用 %unload_ext 卸载扩展:

%unload_ext line_profiler

7. 错误调试

捕获和调试异常

IPython 提供了 %debug 魔法命令,用于在异常发生后进入调试模式:

%debug

手动调试

可以在任意代码位置插入 import pdb; pdb.set_trace() 进入调试模式:

import pdb; pdb.set_trace()

8. 与 Jupyter Notebook 的集成

启动 Jupyter Notebook

在终端中输入 jupyter notebook 启动 Jupyter Notebook 服务器:

$ jupyter notebook

在 Notebook 中使用 IPython 魔法命令

你可以在 Jupyter Notebook 中使用 IPython 的魔法命令,例如:

%timeit sum(range(1000))

扩展 Jupyter Notebook 功能

你可以安装和使用 Jupyter Notebook 的扩展,例如 jupyter_contrib_nbextensions

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

然后在 Notebook 中启用所需的扩展。

结语

本文整理了一些 IPython 的实用技巧,希望能帮助你更高效地使用 IPython。无论是数据分析、科学计算还是开发工作,IPython 都是一个强大的工具。通过掌握这些技巧,你可以充分利用 IPython 提供的功能,提高工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1835754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

30v-180V降3.3V100mA恒压WT5107

30v-180V降3.3V100mA恒压WT5107 WT5107是一款恒压单片机供电芯片&#xff0c;它可以30V-180V直流电转换成稳定的3.3V直流电&#xff08;最大输出电流300mA&#xff09;&#xff0c;为各种单片机供电。WT5107的应用也非常广泛。它可以用于智能家居、LED照明、电子玩具等领域。比…

关于glibc-all-in-one下载libc2.35以上报错问题

./download libc版本 下载2.35时报错&#xff1a;原因是缺少解压工具zstd sudo apt-get install zstd 下载后重新输命令就可以了 附加xclibc命令 xclibc -x ./pwn ./libc-版本 ldd pwn文件 xclibc -c libc版本

rds2212控制台+license-server4.5版本控制台无法获取验证码的解决方案(by lqw)

这两个的控制台的日志信息报错如下&#xff1a; 原因&#xff1a; 使用的jdk不支持awt的字体 解决方案&#xff1a; 更换jdk&#xff0c;重新配置jdk环境变量&#xff0c;或者安装fontconfig组件 yum install -y fontconfig

逆向分析-Ollydbg动态跟踪Ransomware.exe恶意锁机程序

1.认识Ollydbg Ollydbg是一个新的动态追踪工具&#xff0c;将IDA与SoftICE结合起来的思想&#xff0c;Ring 3级调试器&#xff0c;非常容易上手&#xff0c;己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能&#xff0c;是目前最强大的调试工具。 Oll…

c语言指针经典笔试题

指针的笔试题目 //深度讨论数组名 int main1() {int a[] { 1,2,3,4 };printf("%d\n", sizeof(a)); //sizeof内部出现数组名代表是整个数组的大小 //16printf("%d\n", sizeof(a 0)); //首元素地址0还是首元素地址 4/8printf("%d\n", sizeof(*…

苹果手机618多次降价:京东618iPhone 15 Pro Max降价超2300元 销量重回销量榜第一

一年一度的618大促快接近尾声&#xff0c;在大促期间&#xff0c;iPhone 15多次降价后重回销量榜第一名。 买手机这个一定要领&#xff0c;你懂的&#xff01; &#xff08;20号结束 &#xff09; 淘宝APP搜&#xff1a;领到就赚3300 京东APP搜&#xff1a;好运红包588 如下…

leaflet室内地图\平面图点线面绘制

需求&#xff1a; 用户自定义上传一张平面图&#xff0c;然后可以在平面图内标点、绘制面、并且能够弹出相对应点、面的信息&#xff0c;信息可编辑&#xff0c;类似下图&#xff1a; 相关实现技术&#xff1a;leaflet 中文网&#xff1a;Leaflet - 一个交互式地图 JavaScript…

友思特应用 | 模型链接一应俱全:IC多类别视觉检测一站式解决方案

导读 高精度IC制造工艺需要对产品进行全方位检测以保证工艺质量过关。友思特 Neuro-T 通过调用平台的流程图功能&#xff0c;搭建多类深度学习模型&#xff0c;形成了一站式的视觉检测解决方案。本文将为您详述方案搭建过程与实际应用效果。 在当今集成电路&#xff08;IC&…

润滑不良:滚珠花键磨损的隐形杀手!

滚珠花键作为一种精密机械传动元件&#xff0c;被广泛应用于各种机器和设备中&#xff0c;起着传递动力和运动的重要作用。滚珠花键经过长时间的运行&#xff0c;难免会多少些磨损&#xff0c;严重的话还会导致设备不能正常运转。那么&#xff0c;如何保证它的正常运行呢&#…

frp安装与配置

个人从网上杂乱的信息中学习、试错&#xff0c;记录自己成功配置的方法&#xff0c;避免遗忘 一、frp的下载 因目前无法下载&#xff0c;仅保留下载方法&#xff0c;版本号根据实际修改&#xff0c;目前使用0.54版&#xff0c;不同系统下载不同文件。 wget https://github.c…

[渗透测试学习] BoardLight-HackTheBox

BoardLight-HackTheBox 信息搜集 nmap扫描一下 nmap -sV -v 10.10.11.11扫描结果如下 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu))80端口有h…

分享一个自己写的PC版的Ai指令保存工具

今天给大家分享下我用非常古老的VB写的一个小工具。纯粹是每次电脑使用指令太麻烦了&#xff0c;所以写了一个小工具。这个工具支持5条指令&#xff0c;作为一般的应该够用了。使用场景&#xff1a;比如你要经常使用指令&#xff0c;但是觉得复制指令麻烦&#xff0c;那么你可以…

Qt | 简单的使用 QStyle 类(风格也称为样式)

01、前言 者在 pro 文件中已添加了正确的 QT+=widgets 语句 02、基础样式 1、QStyle 类继承自 QObject,该类是一个抽像类。 2、QStyle 类描述了 GUI 的界面外观,Qt 的内置部件使用该类执行几乎所有的绘制,以确保 使这些部件看起来与本地部件完全相同。 3、Qt 内置了一系…

水利部:关于推进水利工程建设数字孪生的指导意见

从《关于大力推进智慧水利建设的指导意见》到《十四五智慧水利建设规划》&#xff0c;自2022年以来&#xff0c;水利部先后出台一系列文件部署“数字孪生水利”政策框架。2024年4月1日&#xff0c;水利部再次颁发《关于推进水利工程建设数字孪生的指导意见》&#xff0c;强调&a…

自注意力与卷积高效融合!多SOTA、兼顾低成本与高性能

在自注意力机制中&#xff0c;模型计算输入序列中不同位置的相关性得分&#xff0c;以生成连接权重&#xff0c;从而关注序列中的重要部分。而卷积通过滑动窗口的方式&#xff0c;在输入上应用相同权重矩阵来提取局部特征。 如果将以上两者结合&#xff0c;就可以同时利用自注…

[C#]winform基于opencvsharp实现黑白图像上色

【算法简介】 技术有时会提高艺术&#xff0c;但有时也会破坏艺术。着色黑白电影是一个可以追溯到1902年的古老想法。几十年来&#xff0c;许多电影创作者反对将黑白电影着色的想法&#xff0c;并将其视为对艺术的破坏。但今天它被接受为艺术形式的增强。该技术本身已经从艰苦…

PO、VO、BO、DAO、DTO、POJO

PO、VO、BO、DAO、DTO关系图 DAO&#xff08;Data Access Object&#xff09;数据访问对象&#xff0c;数据访问&#xff1a;顾名思义就是与数据库打交道&#xff0c;它封装了与底层数据源&#xff08;如数据库&#xff09;的交互逻辑。为业务逻辑层&#xff08;Service&#…

绿色免费离线版JS加密混淆工具 - 支持全景VR加密, 小程序js加密, H5网站加密

自从我们推出在线版的免费JS加密混淆工具以来&#xff0c;受到了广大用户的热烈欢迎。特别是全景开发人员&#xff0c;他们使用该工具加密VR插件的JS代码, 添加域名锁等&#xff0c;都非常有效地保护了插件的代码资源。 最近&#xff0c;我们收到了许多用户的反馈&#xff0c;…

【数据库编程-SQLite3(四)】基本常用操作

学习分享 1、sql数据类型1.1、约束 2、数据定义语言DDL(Data Definition Language)2.1、创建表2.2、修改表2.3、删除表 3、 数据操纵语言DML(Data Manipulation Language)3.1、INSERT语句3.2、DELETE语句3.3、UPDATE语句3.4、SELECT语句 4、高级查询4.1、SQL通配符4.2、模糊查询…

JAVA的优势是什么?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; java编程语言自1995年问世…