ipython的变量_ipython常用功能

概述

iPython 是一个Python 的交互式Shell,比默认的Python Shell 好用得多,功能也更强大。

她支持语法高亮、自动完成、代码调试、对象自省,支持 Bash Shell 命令,内置了许多

很有用的功能和函式等,非常容易使用。

应用

Windows 下的iPython 安装

在Windows 下安装iPython 可分为以下几步:

1. 下载ipython-0.8.4.win32-setup.exe 和pyreadline-1.5-win32-setup.exe。

(1)下载ipython-0.8.4.win32:

http://ipython.scipy.org/dist/ipython-0.8.4.win32-setup.exe

精巧地址:

http://bit.ly/YqbkJ

(2)下载pyreadline-1.5-win32:

http://ipython.scipy.org/dist/pyreadline-1.5-win32-setup.exe

精巧地址:

http://bit.ly/2JFKDM

安装pyreadline。直接双击安装

ubuntu 下安装

sudo apt-get install 'ipython'

Ipython很强大,特性也很多,但是我根本记不住,常用的特性记录下:

------自动补全功能

需要单独安装pyreadline模块,下载地址

http://launchpad.net/pyreadline/1.6/1.6.1/+download/pyreadline-1.6.1.win32.exe

安装后进入Ipython交互命令行后执行下面代码后方可用,标准python命令行也是如此 :

>>>import readline,rlcompleter

>>>readline.parse_and_bind(‘tab complete’)

------方便的?

?moudle 可以查看 模块的说明,显示的比dir好看

------历史

hist可以查看到输入命令的历史

hist -n 去掉历史前面的行数

按Ctrl+p 可以快捷输入上次输入的命令,如果再按之前输入一个匹配项,则会匹配历史命令,然后输入

------快速编辑

hist查出来的语句可以通过 edit [x:y]来快速插入到 默认的文本编辑器里,很是方便

------执行系统命令

!command可以执行 系统的命令,并返回例如:

!whoami

python中的变量需要在前面加上$,才能在shell命令中使用

------magic关键字

输入magic可以看到详细说明,ipython定义了一些常见的命令,执行用户输入的时候,会先判断 是否为magic关键字,如果是,他直接就处理了 。edit就是一个magic keyword

------运行源码

run pyname.py [-arg]

* -n 阻止运行源文件代码时__name__变量被设为”__main__”。这会防止

if __name__ == “__main__”:

块中的代码被执行

* -i 源文件在就当前IPython的名字空间下运行而不是在一个新的名字空间中。如果你需要源代码可以使用在交互式session中定义的变量就会很有用。

* -p 使用Python的profiler模块运行并分析源代码。使用该选项代码不会运行在当前名字空间。

详情:

1. 进入help,可以直接看相关介绍,库函数

2. iPython 中用!表示执行shell 命令,用$将Python 的变量转化成 Shell 变量。通过

这两个符号,就可以做到和Shell 命令之间的交互,可以非常方便地做许多复杂的

工作。比如可以很方便地创建一组目录:

!mkdir [directory]

!pwd

3. Tab 自动补全。iPython 一个非常强大的功能是tab 自动补全。标准Python 交互式解

释器也可以tab 自动补全:

4.输入命令“hist”快速查看那些已输入的历史记录: (hist -n)

5.edit 在iPython 下输入edit 就会根据环境变量$ EDITOR 调用相应的编

辑器。如果$EDITOR 为空,则会调用vi(Unix)或记事本(Windows)。要回到iPython

提示符,直接退出编辑器即可。如果是保存并退出编辑器,输入编辑器的代码会在

当前名字空间下被自动执行。如果不想这样,可使用edit -x。如果要再次编辑上次

最后编辑的代码,使用edit -p。在上一个特性里,提到使用hist−n 可以很容易地将

代码拷贝到编辑器。

EG: edit 4:7 #将第4、5、6 句代码导出到编辑器

6. Debugger 接口。iPython 的另一特性是它与Python debugger 的接口。在iPython Shell

下输入magic 关键字pdb(%pdb) 就会在产生一个异常时开关自动debugging 功能。在pdb

自动呼叫启用的情况下,当Python 遇到一个未处理的异常时Python debugger 就会自

动启动。debugger 中的当前行就是异常发生的那一行。iPython 的作者说有时候当他

需要在某行代码处debug 时,他会在开始debug 的地方放一个表达式1/0。启用pdb,

在iPython 中运行代码。当解释器处理到1/0 那一行时, 就会产生一个

ZeroDivisionError 异常,然后它就从指定的代码处被带到一个debugging session 中了。

7. 运行。有时候在一个交互式Shell 中,如果可以运行某个源文件中的内容将会很有用。

运行magic 关键字run 带一个源文件名就可以在iPython 解释器中运行一个文件了(例

如run )。参数主要有以下这些:

-n 阻止运行源文件代码时{{{__name__}}}变量被设为"{{{__main__}}}"。这会

防止if {{{__name__}}} == "{{{__main__}}}":块中的代码被执行。

-i 源文件在当前iPython 的名字空间下运行而不是在一个新的名字空间中。如果

你需要源代码可以使用在交互式session 中定义的变量,它会很有用。

-p 使用Python 的profiler 模块运行并分析源代码。使用该选项的代码不会运行

在当前名字空间。

8. 宏。宏允许用户为一段代码定义一个名字,这样可在以后使用这个名字来运行这段

代码。就像在magic 关键字edit 中提到的,列表切片法也适用于宏定义。假设有一

个历史记录如下:

In [3]: hist

1: l = []

2:

for i in l:

print i

可以这样来定义一个宏:

In [4]: macro print_l 2

Macro `print_l` created. To execute, type its name (without quotes).

Macro contents:

for i in l:

print i

运行宏:

In [5]: print_l

------> print_l()

在这里,列表l 是空的,所以没有东西被输出。但这其实是一个很强大的功能,赋予

列表l 某些实际值,再次运行宏就会看到不同的结果:

In [7]: l = range(5)

In [8]: print_l

------> print_l()

0

1

2

3

4

当运行一个宏时就好像你重新输入了一遍包含在宏print_l 中的代码。它还可以使用

新定义的变量l。由于Python 语法中没有宏结构(也许永远也不会有),在一个交互

式shell 中它更显得是一个有用的特性。

9. 环境(Profiles)。就像早先提到的那样,iPython 安装了多个配置文件用于不同的环

境。配置文件的命名规则是ipythonrc-。要使用特定的配置启动iPython,需要这样:

ipython –p

一个创建自己环境的方法是在$HOME/.ipython 目录下创建一个iPython 配置文件,

名字就叫做ipythonrc-,这里是你想要的环境名字。如果同时进行好几个项目,而这

些项目又用到互不相同的特殊的库,这时候每个项目都有自己的环境就很有用了。

也可以为每个项目建立一个配置文件,然后在每个配置文件中import 该项目中经常

用到的模块。

10. %rep 重新运行命令,或把之前的某次输入放入输入行用来编辑

11. 自己写的包与模块在Pydev中运行正常,因已经把我们的项目的目录增加到PYTHONPATH中,

而在IPython中运行可能就出错了,解决方法是会用sys模块的sys.path.append函数增加搜索目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值