介绍$ ipythonPython 3.7.1 (default, Nov 28 2018, 11:51:54) Type 'copyright', 'credits' or 'license' for more informationIPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.In [1]:
特点
自动补齐比如可以输入prin再按一下tab就可以补齐了
或者输入sys.再按一下tab就可以显示所有可以使用的成员函数了
可以执行shell命令
自省
模块输入sys?然后回车就可以显示sys的文档信息了
变量其显示变量类型和值
历史机制hist可以快速查看那些输入的历史记录。
hist -n可以快速查看并去掉历史记录中的序号,这样你就可以方便的将代码复制到一个文本编辑器中。
一个更简单的方法是edit加Python列表的切片(slice)语法:
edit 4:7 % # 将第4,5,6,7句代码导出到编辑器
魔术命令
%lsmagic-显示全部魔术命令In [10]: %lsmagic Out[10]: Available line magics:%alias %alias_magic %autoawait %autocall %autoindent %automagic %bookmark %cat %cd %clear %colors %config %cp %cpaste %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %paste %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmodeAvailable cell magics:%%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefileAutomagic is ON, % prefix IS NOT needed for line magics.
Automagic默认情况下automagic是ON状态,
也就是说对于line-oriented命令我们不需要使用前面的百分号%,
直接输入命令即可
例如:timeit range(1000),
但是对于cell-oriented命令我们必须输入%%,
可以通过%automagic来打开/关闭这个automagic功能。
%timeit-显示时间In [9]: %timeit print("hello ipython") hello ipythonhello ipython...hello ipython3.77 µs ± 99 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
%run-执行python脚本
%pdb-打开/关闭自动pdb唤出功能当我们打开这个功能的时候(通过%pdb on 或者%pdb 1),
程序一旦遇到exception就会自动调用pdb,
进入pdb交互界面
如果要关闭该功能可以通过%pdb off 或者%pdb 0
%env-显示系统环境变量
%time-语句的执行时间显示Python语句的执行时间,包括cpu time和wall clock time
!cmd-执行shell指令在IPython界面就可以直接执行shell指令而不需要再退出IPython了
%edit-启动一个编辑器在Linux上会启动vim,在Windows上会启动notepad。我们可以在编辑器上编辑代码,保存退出后就会执行相应代码
%paste-黏贴操作如果直接拷贝粘贴,IPython可能无法正确的执行,
这是因为IPython一旦遇到空行就认为粘贴结束,然后就开始执行了
这时我们就需要使用%paste或者%cpaste来粘贴了,
先拷贝代码,然后在IPython中输入%paste
%cpaste也可以粘贴代码,
与%paste区别就是它可以持续粘贴(即continue paste),
直到我们按Ctrl+D或者输入双减号"--"以结束粘贴
断点调试如果你的程序是由命令行开始执行的,即在命令行下输入 python foo.py(大部分 Python 程序都是),那么你还可以利用 IPython 在你的程序任意地方进行断点调试。在你程序中任意地方,加入如下语句:from IPython.Shell import IPShellEmbedIPShellEmbed([])()注意:最近 IPython 发布了 0.11 版本,各方面变化都非常大,API 也经过了重新设计。如果你使用的是 0.11 那么上面两行对应的是这样的:from IPython import embedembed()再和平常一样运行你的程序,你会发现在程序运行到插入语句的地方时,会转到 IPython 环境下。你可以试试运行些指令,就会发现此刻 IPython 的环境就是在程序的那个位置。你可以逐个浏览当前状态下的各个变量,调用各种函数,输出你感兴趣的值来帮助调试。之后你可以照常退出 IPython,然后程序会继续运行下去,自然地你在当时 IPython 下执行的语句也会对程序接下来的运行造成影响。这个方法是在这里(http://lukeplant.me.uk/blog/posts/exploratory-programming-with-ipython/)看到的。想象一下,这样做就像让高速运转的程序暂停下来,你再对运行中的程序进行检查和修改,之后再让他继续运行下去。这里举一个例子,比如编写网页 bot ,你在每取回一个页面后你都得看看它的内容,再尝试如何处理他获得下一个页面的地址。运用这个技巧,你可以在取回页面后让程序中断,再那里实验各种处理方 法,在找到正确的处理方式后写回到你的代码中,再进行下一步。这种工作流程只有像 Python 这种动态语言才可以做到。
项目主页
安装
下载
官网下载
本地下载
安装
在python中使用java
>>>