鲍里斯Paskhaver

IPython shell是对Python(世界上最流行的编程语言)的强大扩展包。它通过向Python的标准执行环境添加大量特性(包括自动完成、命令历史记录、文件写入等)来提高开发人员的生产率。

IPython最著名的特性之一是魔法命令,这是执行各种实用程序操作的小型Python脚本。在本文中,我们将深入研究启动和运行IPython所需了解的5个神奇命令。你的效率会感谢你的!

使用熊猫和Python进行数据分析

最后更新了4月2021年

畅销书
  • 177讲座
  • 所有级别
4.7 (13,280)

使用Python强大的熊猫库快速轻松地分析数据!所有数据集包括所有数据集 - 初学者欢迎!|由Boris Paskhaver.

探索课程

什么是ipython?

让我们回顾一下基础知识。

我们写的代码叫做源代码。源代码的存在是为了程序员的利益——我们计算机的硬件不认识它的结构。Python解释器是将我们的源代码翻译成计算机可以理解的语言的软件。

shell是一个程序,允许用户与操作系统或应用程序交互。它由我们输入和执行文本指令的提示(通常称为命令行)组成,也称为shell命令。

如果您的计算机上已经安装了Python,您可以在安装目录中搜索IDLE程序。

图1:Python 3.9安装目录中的空闲程序

IDLE是专门为Python语言构建的shell。在应用程序中,我们可以执行几行Python代码。解释器立即翻译代码并输出结果。

图2:在macOS上运行IDLE Shell的示例

IPython(交互式Python)是IDLE shell的扩展版本。物理学家Fernando Pérez开发了IPython,并于2001年发布了该项目。不要将IPython与不同版本的Python混淆。它更像是一个扩展包,通过核心语言提高我们的生产力。

在我们之前的文章中,我们介绍了Jupyter笔记本开发环境,这是练习和编写Python代码的必威真人投注奇妙选择。Jupyter笔记本由代码单元组成。当我们执行单元格时,我们立即看到其在代码下方的输出。通过简单地键入命令并查看结果,您会感到惊讶您可以快速挑选新技术。

Jupyter Notebook使用引擎盖下的iPython壳。这意味着我们在一个美丽的图形界面内获得IPython的所有增强功能。让我们旋转一个新鲜的jupyter笔记本,并在行动中看到它。

魔法命令

一个IPython魔法命令是一个代码快捷方式。它是我们添加到程序中的一小段代码,使用了IPython的一个特殊特性。

魔术命令以%前缀或%%前缀开头。当我们使用单个百分比符号时,ipython将命令应用于跟随它的代码行。当我们使用两个百分比的符号时,ipython将命令应用于整个jupyter笔记本电脑。

让我们深入了解在IPython中提高生产力的5个重要命令。

1.%运行魔术命令

假设我们有一个具有一些业务逻辑的Python脚本文件。让我们召集我们的文件乘以.py。

Def乘(a, b):返回a * b

我们可以使用%run magic命令打开Python文件并直接在Jupyter Notebook中运行它的代码,而不是将文件的内容复制并粘贴到单元格中。

在[1]%运行倍增.py

IPython执行文件,并将Python程序的名称(变量,函数,类等)导入笔记本。我们现在可以在单元格内调用乘法函数。

在[2]计算=乘(3,5)计算出[2]15

2.%timeit魔法命令

%timeit magic命令计算表达式的平均执行速度。为了过滤掉异常,它需要测量到许多不同的执行。

以下示例时间执行阶乘函数。iPython执行一百万次的代码行!

In [3] def factorial(number): if number <= 1: return 1 return number * factorial(number - 1) In [4] %timeit factorial(10) 1.46µs±49.9 ns per loop (mean±std. dev. of 7 runs, every 1000000 loops)

3.%who_ls magic命令

您是否曾经忘记Python程序中是否存在一个名称?或者可能你从Python标准库中导入了一个库或模块,但忘记了给它分配的别名?%who_ls magic命令列出了在Jupyter Notebook中定义的所有名称:变量、模块、函数、类等等。当您重新启动Notebook并需要验证哪些单元格需要重新执行时,这是一个很好的工具。

In [5] %who_ls ['calculation', 'dt', 'factorial', 'multiply', 'pd']

4.%writefile魔术命令

Jupyter Notebook是一个奇妙的实验工具,但如果需要手动运行Python,例如在服务器上需要运行Python,则可能需要将代码保存到普通的.py文件中。

%%write magic命令将Notebook单元格的内容写入文件。将文件名写在命令后面。

在[7]%%writefile business_logic.py def my_business_idea(): for i In range(10): print("Make money") my_business_idea() Out [7] Writing business_logic.py . for i In range(10): print("Make money") my_business_idea() Out

注意这个魔法命令。如果您再次执行单元格,Ipython将覆盖现有的Business_Logic.py文件。

若要将内容追加到现有文件的末尾,请添加-a (append)标志。

在[8] %% writefile -a business_logic.py def另一个_business_idea():对于I在范围内(10):打印(“制作更多金钱”)另一个_business_idea()out [8]附加到business_logic.py

5.%QuickRef Magic命令

想知道伊比松还能做什么吗?执行%quickref显示一个包含魔法命令及其描述的完整列表的小抄。

在[9]% quickref

图3:来自%quickref模式的魔术命令示例

总结

对于IPython shell的功能,我们只是触及了皮毛。最新版本有100多个魔法命令供您探索。要了解更广泛的IPython介绍,请前往它官方网站.我希望它有助于您在日常的Python活动中更加富有成效!

Python顶级课程

深度学习:Python中的递归神经网络
懒惰的程序员。
4.6 (3,235)
Python 3:Dive Dive(第3部分 - 哈希地图)
弗雷德巴普蒂斯特
4.7 (709)
Python 3: Deep Dive(第4部分- OOP)
弗雷德巴普蒂斯特
4.8 (1172)
完整的Pandas Bootcamp 2021:数据科学与Python
亚历山大Hagmann
4.7 (2,012)
Python,机器学习和AWS的算法交易A-Z
亚历山大Hagmann
4.6 (500)
畅销书
使用熊猫和Python进行数据分析
鲍里斯Paskhaver
4.7 (13,280)
畅销书
人工智能:Python中的强化学习
懒惰程序员团队,懒惰程序员公司
4.6 (8595)
畅销书
高级人工智能:Python深度强化学习
懒惰程序员团队,懒惰程序员公司
4.6 (3,869)
数据科学:Python中的自然语言处理
懒惰的程序员。
4.6 (9,611)
评价最高

更多Python课程

Python的学生还学习

赋予你的团队。引领行业。

通过Udemy for Business订阅您组织的在线课程和数字学习工具图书馆。

请求一个演示

Boris Paskhaver的课程

使用熊猫和Python进行数据分析
鲍里斯Paskhaver
4.7 (13,280)
畅销书
学习用Ruby编写代码
鲍里斯Paskhaver
4.7 (4,099)
畅销书
Excel VBA编程 - 完整指南
鲍里斯Paskhaver
4.7 (3,742)
使用python学习代码
鲍里斯Paskhaver
4.7 (3,288)
用RSpec测试Ruby:完整指南
鲍里斯Paskhaver
4.7 (835)
畅销书
开始使用React hook
鲍里斯Paskhaver
4.8 (337)

Boris Paskhaver的课程