Ipython 解释器 喜欢ヅ旅行 2022-05-17 05:28 146阅读 0赞 ## 进入ipython ## 通常我们并不使用**Python**自带的解释器,而是使用另一个比较方便的解释器——**ipython**解释器,命令行下输入: ipython 即可进入**ipython**解释器。 所有在**python**解释器下可以运行的代码都可以在**ipython**解释器下运行: In \[1\]: print "hello, world" hello, world 可以进行简单赋值操作: In \[2\]: a = 1 直接在解释器中输入变量名,会显示变量的值(不需要加`print`): In \[3\]: a Out\[3\]: 1 In \[4\]: b = [1, 2, 3] ## ipython magic命令 ## **ipython**解释器提供了很多以百分号`%`开头的`magic`命令,这些命令很像linux系统下的命令行命令(事实上有些是一样的)。 查看所有的`magic`命令: In \[5\]: %lsmagic Out\[5\]: 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` 查看当前的变量空间: In \[6\]: %whos Variable Type Data/Info ---------------------------- a int 1 b list n=3 使用 `reset` 重置当前变量空间: In \[7\]: %reset -f 再查看当前变量空间: In \[8\]: %whos Interactive namespace is empty. 使用 `pwd` 查看当前工作文件夹: In \[9\]: %pwd Out\[9\]: u'C:\\Users\\lijin\\Documents\\Git\\python-tutorial\\01. python tools' 使用 `mkdir` 产生新文件夹: In \[10\]: %mkdir demo_test 使用 `cd` 改变工作文件夹: In \[11\]: %cd demo_test/ C:\Users\lijin\Documents\Git\python-tutorial\01. python tools\demo_test 使用 `writefile` 将cell中的内容写入文件: In \[12\]: %%writefile hello_world.py print "hello world" Writing hello_world.py 使用 `ls` 查看当前工作文件夹的文件: In \[13\]: %ls 驱动器 C 中的卷是 System 卷的序列号是 DC4B-D785 C:\Users\lijin\Documents\Git\python-tutorial\01. python tools\demo_test 的目录 2015/09/18 11:32 <DIR> . 2015/09/18 11:32 <DIR> .. 2015/09/18 11:32 19 hello_world.py 1 个文件 19 字节 2 个目录 121,763,831,808 可用字节 使用 `run` 命令来运行这个代码: In \[14\]: %run hello_world.py hello world 删除这个文件: In \[15\]: import os os.remove('hello_world.py') 查看当前文件夹,`hello_world.py` 已被删除: In \[16\]: %ls 驱动器 C 中的卷是 System 卷的序列号是 DC4B-D785 C:\Users\lijin\Documents\Git\python-tutorial\01. python tools\demo_test 的目录 2015/09/18 11:32 <DIR> . 2015/09/18 11:32 <DIR> .. 0 个文件 0 字节 2 个目录 121,763,831,808 可用字节 返回上一层文件夹: In \[17\]: %cd .. C:\Users\lijin\Documents\Git\python-tutorial\01. python tools 使用 `rmdir` 删除文件夹: In \[18\]: %rmdir demo_test 使用 `hist` 查看历史命令: In \[19\]: %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 使用 ## 使用 `?` 查看函数的帮助: In \[20\]: sum? 使用 `??` 查看函数帮助和函数源代码(如果是用**python**实现的): In \[21\]: # 导入numpy和matplotlib两个包 %pylab # 查看其中sort函数的帮助 sort?? Using matplotlib backend: Qt4Agg Populating the interactive namespace from numpy and matplotlib **ipython** 支持使用 `<tab>` 键自动补全命令。 使用 `_` 使用上个cell的输出结果: In \[22\]: a = 12 a Out\[22\]: 12 In \[23\]: _ + 13 Out\[23\]: 25 可以使用 `!` 来执行一些系统命令。 In \[24\]: !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**会指出出错的位置和原因: In \[25\]: 1 + "hello" --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-25-d37bedb9732a> in <module>() ----> 1 1 + "hello" TypeError: unsupported operand type(s) for +: 'int' and 'str'
还没有评论,来说两句吧...