Quantcast
Channel: CodeSection,代码区,数据库(综合) - CodeSec
Viewing all articles
Browse latest Browse all 6262

IPython介绍1-内省 IPython IPython介绍 内省 Tab键自动完成

$
0
0
内省
Tab键自动完成
在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与已输入的字符串相匹配的变量(对象、函数等)就会被找出来。
e1.
In [4]: an_apple = 27
In [5]: an_example = 42
In [6]: an % 意思是按键说明
an_apple an_example and angle annotate any
也可以在任何对象后面输入一个句点以便自己完成方法和属性的输入。
e2.
In [6]: b = [1,2,3]
In [7]: b. % 意思是按键说明
append extend insert %等等
还可以应用在模块上
e3.
In [7]: import datetime
In [8]: datetime. % 意思是按键说明
MAXYEAR MINYEAR datetime %等等
Tab键自动完成功能不只是可以用于搜索命名空间和自动完成对象或模块属性。当你输入任何看上去像是在文件路径的东西时(即使是在一个python字符串中),按下Tab键即可找出电脑文件系统中与之相匹配的东西。
再结合%run命令。
(未实现该代码功能)
?命令
在变量前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来。(对象内省)
e1.
In [9]: b?
Type: list %类型为列表
String form: [1, 2, 3] % 对象的内容
Length: 3 %对象的长度
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

使用??还将显示该函数的源代码

?还可以搜索IPython的命名空间。一些字符配以通配符(*)即可显示所有与该通配符表达式相匹配的名称。
e.2 列出Numpy d顶级命名空间中含有“load”的所有函数:
In [10]: np.*load*?
np.load
np.loads
np.loadtxt
np.pkgload
%run命令
IPython会话环境中,所有文件都可以通过%run命令当做Python程序运行。
假设在ipython_script_test.py 中存放如下脚本:
def f(x,y,z);
return (x+y) / z
a = 5
b = 6
c = 7.5
result = f(a,b,c)

只要将文件名传给%run 就可以运行了:

%run ipython_script_test.py

运行该脚本

In [1]: result
Out[1]: 1.46666666666666666
执行剪切板中的代码

使用%paste和%cpaste 这两个魔术函数

%paste
x = 5
y = 7
if x > 5:
x += 1
y=8
%cpaste 粘贴后执行
%paste 粘贴即执行?
不过一般直接Ctrl c v 即可了。
键盘快捷键
IPython介绍1-内省 IPython IPython介绍 内省 Tab键自动完成
注:Ctrl k 删除光标右侧所有字符
Ctrl u 删除本行所有字符
常用空格键:
Ctrl-P或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令
Ctrl-N或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令
Ctrl-R 按行读取的反向历史搜索(部分匹配)
Ctrl-Shift-v 从剪贴板粘贴文本
Ctrl-C 中止当前正在执行的代码
Ctrl-A 将光标移动到行首
Ctrl-E 将光标移动到行尾
Ctrl-K 删除从光标开始至行尾的文本
Ctrl-U 清除当前行的所有文本
Ctrl-F 将光标向前移动一个字符
Ctrl-b 将光标向后移动一个字符
Ctrl-L 清屏
异常和追踪
魔术命令
常用魔术命令
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令的输入(可选输出)历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%run script.py 在IPython中执行一个Python脚本文件
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算系综平均执行时间。对那些执行时 间非常小的代码很有用
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用
基于Qt的富GUI控制台

使用这条命令来启动可以添加绘图功能

In [23]: ipython qt console --pylab=inline
File "", line 1
ipython qt console --pylab=inline
^
SyntaxError: invalid syntax
matplotlib集成与pylab模式

启动IPython 时加上–pylab标记来集成matplotlib

In [24]: $ipython --pylab
File "", line 1
$ipython --pylab
^
SyntaxError: invalid syntax

Viewing all articles
Browse latest Browse all 6262

Trending Articles