Boris Paskhaver.

iPython Shell是一个强大的扩展包,成为Python,是世界上最受欢迎的编程语言。它通过向Python的标准执行环境添加一个功能来加速开发人员的生产力,包括自动完成,命令历史记录,文件写入等。

IPython最庆祝的功能之一是魔法命令,它是执行各种实用程序操作的小Python脚本。在本文中,我们将潜入您需要知道的五个魔法命令,以便使用iPython启动和运行。您的生产力会谢谢!

熊猫和Python的数据分析

2021年4月最后更新

畅销书
  • 177课
  • 各级
4.7 (13487)

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

探索课程

IPython是什么?

让我们回顾基础知识。

我们写的代码被称为源代码。程序员福利存在的源代码 - 我们的计算机的硬件无法识别其构造。Python解释器是将源代码转换为计算机可以理解的语言的软件。

shell是允许用户与操作系统或应用程序交互的程序。它包含一个提示符(通常称为命令行),我们在其中输入并执行文本指令,也称为shell命令。

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

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

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

图2:在宏上运行的空闲shell示例

ipython(交互式python)是空闲shell的扩展版本。FernandoPérez,物理学家,开发了IPython,并于2001年发布了该计划。Ipython不应与不同版本的Python混淆。它更像是一种扩展包,可以通过核心语言提高我们的生产力。

在上一篇文章中,我们介绍了Jupyter Notebook开发环境,这对于练习和编写Pybetwayapp下载安装thon代码来说都是一个很好的选择。jupiter Notebook由代码单元格组成。当我们执行一个单元格时,我们可以立即在代码的正下方看到它的输出。您会惊讶地发现,只需输入命令并查看结果,就能如此迅速地掌握一项新技术。

一个Jupyter Notebook使用了IPython外壳。这意味着我们在一个漂亮的图形界面中获得了IPython的所有增强。让我们旋转一个新的朱庇特笔记本,看看它的行动。

魔法命令

IPython Magic命令是代码快捷方式。这是一小块代码,我们添加到我们的程序中使用IPython的特殊功能之一。

魔术命令以%前缀或%%前缀开头。当我们使用单个百分号时,IPython将命令应用于它后面的代码行。当我们使用两个百分号时,IPython将该命令应用到整个Jupyter Notebook单元格。

让我们潜入五个重要命令,以提高iPython的生产力。

1.%run magic命令

假设我们有一个带有一些业务逻辑的Python脚本文件。我们将文件命名为multiply.py。

def乘法(a,b):返回a * b

我们可以使用%运行magic命令将%运行魔术命令复制和粘贴到文件的内容,而是在jupyter笔记本中打开Python文件并直接运行其代码。

在[1]%运行倍增.py

IPython执行该文件并将Python程序的名称(变量、函数、类等)导入到Notebook中。现在可以在单元格中调用multiply函数。

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

2.%Timeit Magic命令

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

下面的例子乘以阶乘函数的执行。IPython将这行代码执行一百万次!

在[3] DEF因子(编号)中:如果number <= 1:返回1返回编号*因子(数字 -  1)在[4]%timeit因子(10)中为每环(平均±std)1.46μs±49.9ns(平均±std。dev。7次运行,每次1000000循环)

3.%who_ls magic命令

您是否忘记了Python程序中是否存在名称?或者也许您从Python标准库导入了库或模块,但忘记了您分配给它的别名?%who_ls magic命令列出了jupyter笔记本中定义的所有名称:变量,模块,函数,类等。重新启动笔记本后,它是一个很好的工具,需要验证要重新执行的单元格是否重新执行。

在[5]导入DateTime作为DT导入Pandas作为PD在[6]%WHO_LS ['计算','dt','阶段','乘以','PD')中

4.%writefile魔术命令

对于实验来说,jupiter Notebook是一个非常棒的工具,但是如果您需要手动运行Python(比如在服务器上),您可能需要将代码保存到一个普通的.py文件中。

%% Write Magic命令将笔记本电脑的内容写入文件。在命令后立即写入文件名。

在[7] %% writefile business_logic.py def my_business_idea():因为我在范围内(10):打印(“赚钱”)my_business_idea()out [7]编写business_logic.py

小心这个神奇的命令。如果再次执行该单元格,IPython将覆盖现有的business_logic.py文件。

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

在[8]%%writefile -a business_logic.py中def another_business_idea(): for i In range(10): print("Make even more money") another_business_idea() Out

5.魔术命令%quickref

好奇关于其他IPython可以做什么?Execute%QuickRef以显示备忘单,其中包含魔法命令的完整列表及其描述。

在[9]%QuickRef中

图3:来自%QuickRef模态的魔法命令样本

概括

我们只划伤了IPython壳能够的表面。最新版本有超过100个魔法命令供您探索。对于更广泛的iPython介绍,前往其官方网站.我希望它能帮助您在日常的Python活动中更有效率!

Python的顶级课程

100天的代码-完整的Python Pro训练营2021年
安吉拉Yu博士
4.7 (33,016)
2021 Python机器学习和数据科学大师班
何塞Portilla
4.7 (2,664)
Python 3编程:初学者到专业大师班
Ryan Ahmed博士,MBA, Mitchell Bouchard, Ligency Team
4.6 (772)
Python中的设计模式
Dmitri Nesteruk
4.5 (1366)
用Python完成从零到英雄的Python集训
何塞Portilla
4.6 (367,243)
畅销书
从头开始学习Python和道德黑客
Zaid Sabih, z安全公司的
4.6 (13488)
Spark和Python用于Pyspark的大数据
何塞Portilla
4.5 (14,964)
畅销书
用Apache Spark和Python驯服大数据-动手!
《Sundog Education》作者:Frank Kane, Frank Kane
4.5 (10607)
完整的Python课程| Learn Python by Doing
Codestars by Rob Percival, Jose Salvatierra, Rob Percival, Teclado by Jose Salvatierra
4.6 (14168)

更Python的课程

蟒蛇学生也会学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示

Boris Paskhaver的课程

熊猫和Python的数据分析
Boris Paskhaver.
4.7 (13487)
畅销书
使用Ruby学习代码
Boris Paskhaver.
4.7 (4,135)
畅销书
Excel VBA编程-完整指南
Boris Paskhaver.
4.6 (3773)
学习用Python编写代码
Boris Paskhaver.
4.7 (3,366)
使用RSPEC测试Ruby:完整指南
Boris Paskhaver.
4.8 (848)
畅销书
反应钩子入门
Boris Paskhaver.
4.8 (340)
收视率最高

Boris Paskhaver的课程