什么是IPython ?
IPython 是一个python的交互式解释器(名字中的I就是交互的意思,Interactive),和原始的Python解释器相比,它的功能更强大,它支持变量补全、自动缩进、内省、魔法命令等等功能。
另外,Jupyter Notebook内置的解释器就是IPython。所以了解IPython也会方便使用Jupyter Notebook。
安装:使用pip install ipython
命令进行安装。
使用:你可以通过命令行输入ipython
启动解释器。
2022-06-22-12-53-13-image.png
如果你使用的是Pycharm,点击 Python Console
可以启动ipython。(前提是你安装了ipython。如果没装ipython,启动的就是默认的python解释器)。
2022-06-22-14-05-46-image.png
2022-06-22-14-09-01-image.png
IPython功能简介
- 1.
Tab
自动补全 - 2. 内省 在变量前面加
?
或者??
,例如?list - 3. % 行魔法命令,例如 %run xx.py 运行脚本
- 4. %% 单元格魔法命令,例如 %%timeit 统计运行时间
- 5. 调用系统shell 命令,只需要在命令前面加
!
,如!dir
、!pip install numpy
jupyter-lab
jupyter-lab 是一个集成了Jupyter notebook等功能的浏览器界面。
你可以在里面写 jupyter notebook,使用Ipython解释器、普通终端、使用调试器。
此外,你还可以安装扩展。
安装和启动
安装
代码语言:javascript复制pip install jupyterlab
启动:在命令行输入jupyter-lab
命令启动
jupyter-lab
2022-06-22-12-55-11-image.png
然后会跳转到这个页面(http://localhost:8888/lab
),你就可以在浏览器中写代码了。
2022-06-22-13-07-57-image.png
下面我们创建一个Notebook。
2022-06-22-13-36-08-image.png
(点击箭头指向的地方,会创建相应的笔记本(Notebook),使用的解释器是我们上面介绍的IPython)
2022-06-22-13-35-04-image.png
这样我们就可以在里面写代码了。笔记本(Notebook)使用的是IPython解释器,所以上面IPython的功能都支持。如代码补全、% 魔法功能等。
下面举几个例子:
代码补全:这里我们输入pr,然后Tab,就会出现补全提示。
可以用键盘的上下箭头选择,然后回车确认。这里第一个就是我需要的print,直接回车。
2022-06-22-13-37-33-image.png
输入代码后,我们点击上方的三角形箭头就可以运行代码(或者用快捷键shift enter 运行)。
2022-06-22-13-41-23-image.png
其它的魔法功能,如?obj
%%time
使用:
2022-06-22-13-42-52-image.png
2022-06-22-13-44-37-image.png
此外,还可以启动Debug模式。Debug模式下,你可以设置断点(逐步调试)和查看变量情况。
2022-06-22-13-47-45-image.png
step.gif
修改工作目录(可选)
jupyter lab 默认的工作目录是安装位置,如果想更改到其他盘,则在终端使用命令:jupyter lab --generate-config ,会显示出jupyter lab的配置文件位置
2022-06-22-13-23-28-image.png
去相应的位置打开配置文件jupyter_lab_config.py
设置c.ServerApp.root_dir
为自己想要的目录。记得把前面的“#”去掉
2022-06-22-13-23-17-image.png
参考资料:
使用IPython有哪些好处?- 知乎 (zhihu.com)
https://www.zhihu.com/question/51467397
概述 — JupyterLab 3.4.3 文档https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html#jupyterlab-releases
Introducing IPython — IPython 8.4.0 documentation
https://ipython.readthedocs.io/en/stable/interactive/tutorial.html