当前位置: 首页 > 后端技术 > Python

Python解释器和IPython简介

时间:2023-03-26 11:45:15 Python

今天给大家介绍的是IPython,一个非常强大的Python解释器。虽然Python本身有自己的解释器,但IPython相对来说更强大。Python解释器Python自带解释器。我们可以在命令行输入python进入python解释器环境:$>pythonPython2.7.15(default,Oct22018,11:47:18)[GCC4.2.1CompatibleAppleLLVM10.0.0(clang-1000.11.45.2)]在darwin上键入“help”、“copyright”、“credits”或“license”以获取更多信息。>>>site="www.flydean.com">>>site'www.flydean.com'>>>python解释器的提示符是>>>。Python提供了一个非常有用的命令帮助,我们可以通过帮助查看要使用的命令。>>>helpTypehelp()获取交互式帮助,或help(object)获取有关对象的帮助。在Python3中,还提供了选项卡的补充功能:>>>site'www.flydean.com'>>>site.site.capitalize(site.expandtabs(site.isalpha(site.isprintable(site.lower(site.rindex(site.splitlines(site.upper(site.casefold(site.find(site.isdecimal(site.isspace(site.lstrip(site.rjust(site.startswith(site.zfill(site.center(site.format(site.isdigit(site.istitle(site.maketrans(site.rpartition(site.strip(site.count(site.format_map(site.isidentifier(site.isupper(site.partition(site.rsplit(site.swapcase(site.encode(site.index(site.islower(site.join(site.replace(site.rstrip(site.title(site.endswith(site.isalnum(site.isnumeric(site.ljust(site.rfind(site.split(site.translate(使用起来非常方便,除了Python自带的解释器外,还有一个更强大的解释器IPython,我们一起来看看吧。IPythonIPython是一个非常强大的解释器,通常和它一起使用jupyternotebook。在IPython3.X中,IPython和Jupyter是作为一个整体一起发布的。但是在IPython4.X之后,Jupyter已经从IPython中分离出来,成为一个单独的项目。使用IPython很简单,输入IPython命令即可:$>ipythonPython3.6.4|Anaconda,Inc.|(默认,2018年1月16日,12:04:33)键入“copyright”、“credits”或“license”以获取更多信息IPython6.2.1——增强的交互式Python。键入“?'寻求帮助。In[1]:site="www.flydean.com"In[2]:siteOut[2]:'www.flydean.com'IPython提示符号在[1]:基本上,命令Python自带的可以在IPython中使用。IPython提供了4个非常有用的命令:命令说明?IPython的特性介绍和概述。%quickrefQuickreference.helpPython自己的帮助系统.object?关于'object'的详细信息,使用'object??'获取更多详细信息。魔法函数IPython中有两种魔法函数,一种是线魔法,一种是细胞魔法。Linemagics将这一行的输入作为函数接收输入以%开头。Cellmagics可以接收多行数据,直到你输入一个空白并按Enter。它以%%开头。比如我们想查看timeit的一个神奇函数的用法,可以使用Object?表示它:$>In[4]:%timeit?Docstring:PythonstatementorexpressionUsage的执行时间,行模式下:%timeit[-n-r[-t|-c]-q-p

-o]statementorincellmode:%%timeit[-n-r[-t|-c]-q-p

-o]setup_code代码代码...timeit用来统计程序的执行时间。让我们看看Linemagics和Cellmagics的使用:In[4]:%timeit?In[5]:%timeitrange(1000)199ns±3.8nsperloop(mean±std.dev.of7runs,每个循环1000000次)In[6]:%%timeitrange(1000)...:range(1000)。..:208ns±12.1nsperloop(mean±std.dev.of7runs,1000000loopseach)事实上,如果只是Linemagics,我们可以省略前面的%,但是对于Cellmagics,就不能省略.In[7]:timeitrange(1000)200ns±4.03nsperloop(mean±std.dev.of7runs,10000000loopseach)常见的魔法函数如下:代码相关:%run,%edit,%save,%macro,%recall等Shell环境相关:%colors,%xmode,%automagic等其他函数:%reset,%timeit,%%writefile,%load,或%paste。运行使用%run进行编辑对于运行外部python脚本很方便。在[8]中:run?Docstring:将IPython中的指定文件作为程序运行。用法:%run[-n-i-e-G][(-t[-N]|-d[-b]|-p[profileoptions])](-mmod|file)[args]run有几个非常有用的参数,比如-t可以用来统计程序的运行时间。-d可用于调试环境,-p可用于profiler分析。使用%edit编辑多行代码,IPython退出后执行。如果不想立即执行,可以加上-x参数。debug可以使用%debug或者%pdb进入IPython调试环境:在[11]:debug>/Users/flydean/.pyenv/versions/anaconda3-5.1.0/lib/python3.6/site-packages/IPython/core/compilerop.py(99)ast_parse()97参数与ast.parse(标准库中)完全相同,98并传递给内置编译函数。"""--->99returncompile(source,filename,symbol,self.flags|PyCF_ONLY_AST,1)100101defreset_compiler_flags(self):ipdb>In[12]:pdbAutomaticpdbcallinghasbeenturnedONIn[13]:pdbAutomaticpdbcalling已关闭或可以使用%run-dtheprogram.py调试外部程序。HistoryIPython可以存储您的输入数据和程序输出数据。IPython的一个很重要的功能就是获取历史数据。在交互式环境中,遍历输入命令历史记录的一种简单方法是使用向上和向下箭头。更强大的是,IPython将所有输入和输出存储在In和Out这两个变量中,例如In[4]。In[1]:site="www.flydean.com"In[2]:siteOut[2]:'www.flydean.com'In[3]:InOut[3]:['','site="www.flydean.com"','site','In']可以使用_ih[n]访问特定输入:In[4]:_ih[2]Out[4]:'site'_i,_ii,_iii可以分别表示previous、previousprevious和previousprevious输入。另外,全局变量_i也可以用来访问输入,即:_i==_ih[]==In[]_i14==_ih[14]==In[14]同理,输出也有三种访问方式:_==_oh[]==Out[]_12==Out[12]==_oh的最后三个输出[12]也可以通过_、__和___获得。您还可以使用%history列出以前的历史数据以供选择。history可以与%edit、%rerun、%recall、%macro、%save和%pastebin一起使用:通过传递一个数字,您可以选择历史记录的输入行号。%pastebin318-20上面的示例将选择输入的第3行和第18-20行。运行系统命令使用!可以直接运行系统命令:在[27]:!pwd/Users/flydean/Downloads也可以使用变量接收运行结果,如:files=!ls本文作者:flydean程序那些事链接到本文:http://www.flydean.com/python-ipython/本文来源:flydean的博客欢迎关注我的公众号:最通俗的《程序》解读,最深刻的干货,最简洁的教程,很多你不知道的小技巧等你来发现!