网站首页 > 基础教程 正文
python中的魔术命令到底是什么?
魔术命令是对常规python代码的增强,这些命令由IPython内核提供。
这些魔术命令通常以“ %”字符作为前缀
Python的魔术命令基本上是为解决我们面临的常见问题而添加的,同时也为你的代码提供了一些快捷方式。
有2种魔术命令:%前缀和%%前缀
%前缀表示该命令在一行代码上运行,而%%前缀允许该命令在整个单元格上运行。
以下是在jupyter Notebook中执行的魔术命令及其实现的示例。
运行外部文件
当我们尝试在jupyter Notebook中运行一些代码片段时,我们希望运行位于某个目录中的外部代码文件。
%run允许你从jupyter Notebook运行任何外部python文件
上面的文件myCode.py包含一个输出上述语句的简单脚本。
如果我们指定文件名(包括%run命令的路径),它将执行该文件。
注意:%run还允许执行外部jupyter Notebook。
代码执行时间
有没有想过一个单元需要多少时间才能运行结束?
使用time 魔术命令可以跟踪单元的总体运行情况。
由于我们将处理整个单元格,因此将%%作为time关键字之前的前缀。
上面的单元格包含一个带随机计算的for循环。%% time用于获取运行for循环所需的执行时间。
复制内容到外部文件
大多数时候,需要直接从jupyter Notebook中将内容添加到python脚本或文本文件中。
你无需复制所有内容并创建新文件,而可以通过在代码之前添加writefile命令直接导出单元格内容。
请注意命令前的%%,表示将导出单元格的全部内容。
显示外部文件的内容
通常你会需要将几行代码从外部文件复制到你的代码中,%pycat允许你显示任何目录中任何文件的内容,而无需花费很长时间来获取文件并打开文件进行复制。
它显示外部文件的所有内容作为其输出。可以将其视为%writefile的逆向应用
列出所有变量
这个魔术命令显示整个笔记本中使用的所有变量。
以下是3个变量:2个字符串和1个整数。如果我们运行%who,它将列出我们定义的所有3个变量。
a = "hello"
b = "Good Morning"
c = 1
上面的代码显示所有变量,而与它们的数据类型无关。
为了显示特定的数据类型变量,我们需要在magic命令之后传递数据类型。上面的代码显示了所有输出为字符串的数据类型变量。
在jupyter Notebook共享变量
这个魔术命令使你可以在不同的jupyter Notebook之间共享任何变量。
要检索变量,需要传递带有'-r'参数的相同命令。
例如第一个Notebook:
检索此数据所需的代码写在另一个Notebook中:
这可能是在不同Notebook之间共享任何数据类型的数据的最简单方法。
执行HTML脚本
%% html允许我们在单元格中编写html代码。
以下代码包含一个用html创建的简单表。
%%html
<html>
<body>
<table>
<tr>
<th>Name</th>
<th>Country</th>
<th>Age</th>
</tr>
<tr>
<td>Sid</td>
<td>India</td>
<td>22</td>
</tr>
<tr>
<td>Dave</td>
<td>UK</td>
<td>28</td>
</tr>
</table>
</body>
</html>
你可以使用类似于HTML 魔术命令的%% js magic命令在单元格中运行Javascript代码。
显示Matplotlib图
%matplotlib内联魔术命令是最流行的命令。此命令允许Jupyter Notebook在笔记本中显示matplotlib图。此命令激活对jupyter Notebook的matplotlib交互式支持。
import random
import matplotlib.pyplot as plt
%matplotlib inline
创建两个随机列表以绘制图形
a = []
b = []
for i in range(10):
a.append(random.randint(0,10))
b.append(random.randint(0,10))
绘制数据的散点图
plt.scatter(a,b)
%matplotlib内联魔术命令可以可视化jupyter Notebook中的图形。
设置环境变量
该魔术命令可以做三件事:列出所有环境变量,获取特定环境变量的值并为变量设置值。
不带参的%env将列出所有环境变量。
具有单个参数的%env将返回指定参数的值
'%env变量值'将设置指定变量名的值
对象详细信息
%pinfo提供了有关随其一起传递的对象的详细信息。
在下面的代码段中,我传递了一个简单的字符串'a'以及%pinfo以获取有关它的详细信息。
a = "The World Makes Sense!"
%pinfo a
从上面的输出中,%pinfo输出有关字符串对象的所有信息。
使用' %lsmagic '命令找到所有magic命令列表
%lsmagic
Python10大魔术命令,在Jupyter中肯定会让你事半功倍。
更多机器学习精彩内容请关注:程序员学数学。
猜你喜欢
- 2024-11-01 【Python】十个必备 Python与操作系统交互命令实践
- 2024-11-01 python操作文件和目录 python文件目录操作方法
- 2024-11-01 Python执行系统命令的四种方法 python执行操作系统命令
- 2024-11-01 对Python命令式编程与符号编程的理解
- 2024-11-01 python的print命令 python print指令
- 2024-11-01 总结归纳的 Django 基本命令 django使用教程
- 2024-11-01 跟我一起学Python——window操作系统常用Dos命令
- 2024-11-01 Python 命令行之旅:使用 docopt 实现 git 命令
- 2024-11-01 python常用命令及操作语句 python基本用法
- 2024-11-01 Google 开源的 Python 命令行库:深入 fire(二)
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)