魔术命令
IPython有一些特殊命令(被称为魔术命令(Magic Command)),它们有的为常见任务提供便利,有的则使你能够轻松控制IPython系统的行为。魔术命令是以百分号%为前缀的命令。例如,你可以通过%timeit这个魔术命令检测任意Python语句(如矩阵乘法)的执行时间(稍后将对此进行详细讲解):
In [554]:a=np.random.randn(100, 100)
In [555]: %timeit np.dot(a, a)
10000 loops, best of 3: 69.1 us per loop
魔术命令可以看做运行于IPython系统中的命令行程序。它们大都还有一些“命令行选项”,使用?即可查看其选项:
In [1]: %reset?
Resets the namespace by removing all names defined by the user.
Parameters
----------
-f : force reset without asking for confirmation.
-s : 'Soft' reset: Only clears your namespace, leaving history intact.
References to objects may be kept. By default (without this option),
we do a 'hard' reset, giving you a new session and removing all
references to objects from the current session.
Examples
--------
In [6]:a=1
In [7]: a
Out[7]: 1
In [8]: 'a' in _ip.user_ns
Out[8]: True
In [9]: %reset -f
In [1]: 'a' in _ip.user_ns
Out[1]: False
魔术命令默认是可以不带百分号使用的,只要没有定义与其同名的变量即可。这个技术叫做automagic,可以通过%automagic打开或关闭。
由于可以在IPython系统中直接访问它的文档,因此我建议你浏览一下所有这些特殊的命令(输入%quickref或%magic即可)。我将着重讲解几个重要的有助于交互式计算和Python开发的魔术命令。
表3-2:常用的IPython魔术命令
表3-2:常用的IPython魔术命令(续)
【责任编辑:book TEL:(010)68476606】
点赞 0