资讯专栏INFORMATION COLUMN

Ipython 解释器

dreambei / 3486人阅读

摘要:进入通常我们并不使用自带的解释器,而是使用另一个比较方便的解释器解释器,命令行下输入即可进入解释器。查看所有的命令以一个百分号开头,作用与一行以两个百分号开头,作用于整个。使用使用上个的输出结果可以使用来执行一些系统命令。

进入ipython

通常我们并不使用Python自带的解释器,而是使用另一个比较方便的解释器——ipython解释器,命令行下输入:

ipython

即可进入ipython解释器。

所有在python解释器下可以运行的代码都可以在ipython解释器下运行:

print "hello, world"
hello, world

可以进行简单赋值操作:

a = 1

直接在解释器中输入变量名,会显示变量的值(不需要加print):

a
1



b = [1, 2, 3]
ipython magic命令

ipython解释器提供了很多以百分号%开头的magic命令,这些命令很像linux系统下的命令行命令(事实上有些是一样的)。

查看所有的magic命令:

%lsmagic
Available line magics:
%alias  %alias_magic  %autocall  %automagic  %autosave  %bookmark  %cd  %clear  %cls  %colors  %config  %connect_info  %copy  %ddir  %debug  %dhist  %dirs  %doctest_mode  %echo  %ed  %edit  %env  %gui  %hist  %history  %install_default_config  %install_ext  %install_profiles  %killbgscripts  %ldir  %less  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %macro  %magic  %matplotlib  %mkdir  %more  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %popd  %pprint  %precision  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %ren  %rep  %rerun  %reset  %reset_selective  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%capture  %%cmd  %%debug  %%file  %%html  %%javascript  %%latex  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.


line magic 以一个百分号开头,作用与一行;

cell magic 以两个百分号开头,作用于整个cell。

最后一行Automagic is ON, % prefix IS NOT needed for line magics.说明在此时即使不加上%也可以使用这些命令。

使用 whos 查看当前的变量空间:

%whos
Variable   Type    Data/Info
----------------------------
a          int     1
b          list    n=3

使用 reset 重置当前变量空间:

%reset -f

再查看当前变量空间:

%whos
Interactive namespace is empty.

使用 pwd 查看当前工作文件夹:

%pwd
u"C:UserslijinDocumentsGitpython-tutorial1. python tools"


使用 mkdir 产生新文件夹:

%mkdir demo_test

使用 cd 改变工作文件夹:

%cd demo_test/
C:UserslijinDocumentsGitpython-tutorial1. python toolsdemo_test

使用 writefile 将cell中的内容写入文件:

%%writefile hello_world.py
print "hello world"
Writing hello_world.py

使用 ls 查看当前工作文件夹的文件:

%ls
 驱动器 C 中的卷是 System
 卷的序列号是 DC4B-D785

 C:UserslijinDocumentsGitpython-tutorial1. python toolsdemo_test 的目录

2015/09/18  11:32              .
2015/09/18  11:32              ..
2015/09/18  11:32                19 hello_world.py
               1 个文件             19 字节
               2 个目录 121,763,831,808 可用字节

使用 run 命令来运行这个代码:

%run hello_world.py
hello world

删除这个文件:

import os
os.remove("hello_world.py")

查看当前文件夹,hello_world.py 已被删除:

%ls
 驱动器 C 中的卷是 System
 卷的序列号是 DC4B-D785

 C:UserslijinDocumentsGitpython-tutorial1. python toolsdemo_test 的目录

2015/09/18  11:32              .
2015/09/18  11:32              ..
               0 个文件              0 字节
               2 个目录 121,763,831,808 可用字节

返回上一层文件夹:

%cd ..
C:UserslijinDocumentsGitpython-tutorial1. python tools

使用 rmdir 删除文件夹:

%rmdir demo_test

使用 hist 查看历史命令:

%hist
print "hello, world"
a = 1
a
b = [1, 2, 3]
%lsmagic
%whos
%reset -f
%whos
%pwd
%mkdir demo_test
%cd demo_test/
%%writefile hello_world.py
print "hello world"
%ls
%run hello_world.py
import os
os.remove("hello_world.py")
%ls
%cd ..
%rmdir demo_test
%hist

ipython 使用

使用 ? 查看函数的帮助:

sum?

使用 ?? 查看函数帮助和函数源代码(如果是用python实现的):

# 导入numpy和matplotlib两个包
%pylab
# 查看其中sort函数的帮助
sort??
Using matplotlib backend: Qt4Agg
Populating the interactive namespace from numpy and matplotlib

ipython 支持使用 键自动补全命令。

使用 _ 使用上个cell的输出结果:

a = 12
a
12



_ + 13
25


可以使用 ! 来执行一些系统命令。

!ping baidu.com
正在 Ping baidu.com [180.149.132.47] 具有 32 字节的数据:
来自 180.149.132.47 的回复: 字节=32 时间=69ms TTL=49
来自 180.149.132.47 的回复: 字节=32 时间=64ms TTL=49
来自 180.149.132.47 的回复: 字节=32 时间=61ms TTL=49
来自 180.149.132.47 的回复: 字节=32 时间=63ms TTL=49

180.149.132.47 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 61ms,最长 = 69ms,平均 = 64ms

当输入出现错误时,ipython会指出出错的位置和原因:

1 + "hello"
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

 in ()
----> 1 1 + "hello"


TypeError: unsupported operand type(s) for +: "int" and "str"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42988.html

相关文章

  • Python-Virtualenv

    摘要:注释在使用前默认的解释器是,而且里面已经安装好了和使用由于一些兼容性问题,电脑上默认的版本只能只能使用,所以创建命令要另外使用指定解释器创建虚拟环境激活虚拟环境现在可以看到提示符前面多了一个,代表虚拟环境创建成功实践一下,虚 注释 在使用virtualenv前ubuntu默认的解释器是python2.7,而且/usr/lib/python3里面已经安装好了ipython3和reques...

    fobnn 评论0 收藏0
  • python基础教程:模块高级技巧

    摘要:标准模块附带了一个标准模块库。它返回一个如果调用不传递参数,则列出当前已经定义的所有名字用可以查看所有的内置类型变量函数等,方法是借助标准模块模块高级技巧总结的搜索路径,顺序一定要搞得清编译后的文件内置函数查看模块定义的名字。 上一节,我们讲解了Python模块的基础知识,这一节我们继续深入了解模块的更多知识,从而让大家全面了解、掌握和运用模块到我们实际的编程中。 在上一节中有一句话接...

    JasinYip 评论0 收藏0
  • 如何利用Python库Web3.py和Infura在Windows中设置托管以太坊节点

    摘要:第步启用与以太坊区块链交互从获得后。我希望本教程介绍了通过在操作系统中设置托管以太坊节点的基本步骤。这里是原文和中设置以太坊托管节点 如果你想与以太坊区块链进行交互以获取最新区块的详细信息,可以使用以太网节点、本地节点或托管节点连接到以太坊区块链的交易信息或发送交易。由于有许多第三方插件和应用程序可用于执行此操作,你可能会认为我们为什么需要一个节点。如果要部署智能合约或使用脚本自动与智...

    jaysun 评论0 收藏0
  • 如何利用Python库Web3.py和Infura在Windows中设置托管以太坊节点

    摘要:第步启用与以太坊区块链交互从获得后。我希望本教程介绍了通过在操作系统中设置托管以太坊节点的基本步骤。这里是原文和中设置以太坊托管节点 如果你想与以太坊区块链进行交互以获取最新区块的详细信息,可以使用以太网节点、本地节点或托管节点连接到以太坊区块链的交易信息或发送交易。由于有许多第三方插件和应用程序可用于执行此操作,你可能会认为我们为什么需要一个节点。如果要部署智能合约或使用脚本自动与智...

    AlphaGooo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<