IPython介绍及使用
一、Ipython入门
IPython是一个交互式python命令行。
(1)安装IPython
1 | $ pip3 install ipython |
(2)ipython的使用
In代表输入,响应的结果则显示在Out中。与python解释器的使用方法一致。
1 2 3 4 5 6 7 | In [ 1 ]: 1 + 2 Out[ 1 ]: 3 In [ 2 ]: a = 1 In [ 3 ]: a + 2 Out[ 3 ]: 3 |
二、IPython高级功能
1、TAB键自动补全
2、?:内省、命名空间搜索
内省操作,说明前面是模糊匹配。
命名空间搜索(查看内置方法):a.__*__?
打印方法的字符串信息:
打印自定义函数信息,??会打印出函数体
3、!:执行系统命令
执行复杂命令的时候,需要在命令前加“!”
4、丰富的快捷键
三、ipython魔术命令
1、%run:执行文件代码
1 2 | # 例如执行下述代码,就可以进行文件编辑 In [ 21 ]: !vi test.py |
文件编辑如下所示:
利用%run来执行test.py文件:
2、%paste:执行剪贴板代码
%paste执行后,先打印出粘贴的代码,然后打印执行结果。
3、%timeit:评估运行时间
%timeit对一个执行的时间很短的函数跑了很多次最后取了一个平均值。
输出的含义是运行了7次,每次循环了10000次。平均之后算出来这个操作的平均时间是144 µs ± 3.59 µs.
这个方法的意义在于,拿到一个特别微小的指令完成所需要花费的时间,对代码整体的性能优化可能会有帮助。
4、%pdb:自动调试
%pdb on——启动pdb,进入调试模式;
%pdb off——关闭pdb,退出调试模式。
进入调试模式后,在ipython解释器中执行代码,可以通过调试命令调试代码。
调试器常用调试命令如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 命令 功能 h(elp) 显示命令列表 help command 显示command的文档 c(ontinue) 恢复程序的执行 q(uit) 退出调试器,不再执行任何代码 b(reak) number 在当前文件的第number行设置一个断点 b path / to / file .py:number 在指定文件的第number行设置一个断点 s(tep) 单步进入函数调用 n(ext) 执行当前行,并前进到当前级别的下一行 u(p) / d(own) 在函数调用栈中向上或向下移动 a(rgs) 显示当前函数的参数 debug statement 在新的(递归)调试器中调用语句statement l(ist) statement 显示当前行,以及当前栈级别上的上下文参考代码 w(here) 打印当前位置的完整栈跟踪(包括上下文参考代码) |
但是最主要最常用的命令还是“p”,即打印,效果如下所示:
5、ipython其他魔术命令
除了上面这些命令外,还具备一些高级的应用:
- 使用命令历史
- 获取输入输出结果
123456789101112131415161718192021
In [
47
]: a
=
1
In [
48
]: b
=
2
In [
49
]: a
+
b
Out[
49
]:
3
# 显示上一行的输出
In [
50
]: _
Out[
50
]:
3
In [
51
]: a
*
b
Out[
51
]:
2
In [
52
]: _
*
__
# 上一行的输出和上上行输出相乘
Out[
52
]:
6
# 拿到输入
In [
53
]: _i42
Out[
53
]:
'p a'
In [
54
]: _i52
Out[
54
]:
'_*__'
- 目录标签系统
1234567891011121314151617181920212223
# 查看当前所有bookmark
In [
55
]:
%
bookmark
-
l
Current bookmarks:
# 将home设置为自己的家目录
In [
72
]:
%
bookmark home ~
# 创建一个bookmark
In [
63
]:
%
bookmark proj
/
Users
/
alex
/
Documents
/
In [
75
]:
%
bookmark
-
l
# 查看当前所有bookmark
Current bookmarks:
home
-
> ~
proj
-
>
/
Users
/
alex
/
Documents
/
# 删除某一个bookmark
In [
67
]:
%
bookmark
-
d home
# 删除所有bookmark
In [
69
]:
%
bookmark
-
r
In [
70
]:
%
bookmark
-
l
# 查看当前所有bookmark
Current bookmarks:
- ipython Notebook(web版的代码展示器)
1234
In [
76
]: !pip3 install jupyter
# jypyter就是开发ipython的公司
# 安装好后再命令行运行notebook,运行后会自动打开一个http://localhost:8888/tree页面
hqs$ jupyter notebook
这个页面其实就是一个文件管理系统,创建一个Notebook:
输入代码并执行:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术