cpython交互
⑴ python 解释器 怎么像jre那样
什么叫做jre一样?
现在Python有如下的解析器
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。
CPython
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用c语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显着提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
本教程的所有代码只确保在CPython 2.7版本下运行。请务必在本地安装CPython(也就是从Python官方网站下载的安装程序)。
此外,教程还内嵌一个IPython的Web版本,用来在浏览器内练习执行一些Python代码。要注意两者功能一样,输入的代码一样,但是提示符有所不同。另外,不是所有代码都能在Web版本的IPython中执行,出于安全原因,很多操作(比如文件操作)是受限的,所以有些代码必须在本地环境执行代码。
⑵ 怎样才能算是熟悉python会什么具体。招聘网页上写着熟悉python.高手,指导,谢谢。
熟知主流硬件体系(x86, x64)
熟知 CPython 的具体实现,如若可能至少通读源码三遍以上
熟知每条 Python bytecode 如何被解释执行
熟知每条 Python 语句如何 compile 成 bytecode
熟知 Python 主要数据结构所采用的优化手段
熟知 JIT 以及哪些场合下 PyPy 会比 CPython 有较大性能提高、以及有什么代价
所以我一直只敢称自己为 “中级 Pythonista”。对于那些仅仅知道怎么用 Python 就敢自称“精通”的人:专家不是那么好当的,没有金刚钻别揽瓷器活。不懂那么多底层细节就不要随便说自己“精通”,说自己“擅长”不会被人看不起。
@米嘉 引用的 StackOverflow 上列的那几项条件是作为将 Python 用于主要工作语言所需要的基本条件,敢于因此而称自己“精通 Python”要让不少人笑掉大牙。况且那几项还有几个严重问题:
第3点:如若可能,尽量避免 map/rece/fitler,而用 list/generator/set comprehension,代码要清晰得多,GvR 如此说。xrange 和 range 的区别在 Python 3 中马上就要滚蛋了,所以如非必要,不要大量使用 xrange。
第5点:敢于在 CPython 中大量使用递归是对 CPython 实现的公然侮辱。Python 的多个稳定实现都没有 TCO,递归会让性能迅速下降。记住一点:Python 中函数调用非常昂贵,可读性、可维护性影响不大的情况下,能展开函数调用的时候尽量展开、递归能转化成循环的尽量转化。递归也不是人类自然的思考方式。
第7点:看书是对的,但不要把 Python 当作一门经典函数式语言对待,因为它不是。你当它是,它会很痛苦(“为毛要这样滥用我!?”),你也会很痛苦(“为毛你不这样实现 blah blah!?”)。SICP 是本好书,但不要因此而教条。要清楚的知道什么时候用函数式,什么时候用面向对象,什么时候用面向过程,什么时候用面向任务,什么时候用面向结果。在一棵树上吊死是大多数非理性死忠的表现。
⑶ python解释器怎么用优化模式
Python 解释器可不止一种哦,有 CPython、IPython、Jython、PyPy 等。
顾名思义,CPython 就是用 C 语言开发的了,是官方标准实现,拥有良好的生态,所以应用也就最为广泛了。
而 IPython 是在 CPython 的基础之上在交互式方面得到增强的解释器(http://ipython.org/)。
Jython 是专为 Java 平台设计的 Python 解释器(http://www.jython.org/),它把 Python 代码编译成 Java 字节码执行。
PyPy 是 Python 语言(2.7.13和3.5.3)的一种快速、兼容的替代实现(http://pypy.org/),以速度快着称。
基本来说pypy是最快的一种。
⑷ 什么是网页编程
CGI CGI(common Gateway Interface,公共网关接口)。严格意义上来说并不算一种网页编程语言。CGI是信息服务器主机对外信息服务的标准接口,为了向客户端提供动态信息而制定。通过专门编写CGI脚本程序(在CGI控制下运行得程序,通常称为CGI程序),不仅可以生成静态的内容,而且可以生成完全无法预见的 动态的内容!比如雅虎、搜狐等搜索引擎提供的强大搜索功能便是利用CGI实现的。CGI脚本程序可以用C、C++等语言在多种平台上进行开发。无需太大修改就可以从一个平台移植到另一个平台上运行,具有很好的兼容性。 ASP与ASP.NET ASP是微软公司推出的意图取代CGI的新技术。通过它,用户可以使用几乎所有的开发工具来创建和运行交互式的动态网页,如返馈表单的信息收集处理、文件上传与下载、聊天室、论坛等等,实现了CGI程序的功能介是又比CGI简单,而且容易学习。由于ASP使用基于开放设计环境的Active X技术,用户可以自己定义和制作组件加入其中,使自己的动态网页具有几乎无限的扩充能力。它还可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便地访问数据库,能很好地对数据进行处理。借WINDOWS 东风,ASP得到了长足的发展。 PHP PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 PHP的特性包括: 开放的源代码:所有的PHP源代码事实上都可以得到。 PHP是免费的。 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 简单的语言:PHP坚持脚本语言为主,与Java以C++不同。 效率高:PHP消耗相当少的系统资源。 图像处理:用PHP动态创建图像 网络搜索 地摊会 Script 脚本语言是介于HTML(HyperText Markup Language,超文本标示语言)和Java、C++和Visual Basic之类的编程语言之间的语言。它的语法和规则没有可编译的编程语言那样严格和复杂。传统的HTML是静态的,为增强网页的动态功能,一些厂商先后推出了自己的Script脚本语言,其中Netscape推出了JavaScript(for客户端和 for服务端两种),微软则推出了VBScript和ASP两种,用于服务器端和客户端程序的编写。 JavaScript JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。它与Java不同:JavaScript主要用于HTML的页面,脚本嵌入在HTML的源码中;而Java是一个独立的、完整的编程语言,既可以在Web中应用,也可以用于与Web网无关的情况。另外,JavaS cript编写的程序不必在运行前编译,它们可以直接写入Web页面中并由调用它们的浏览器来解释执行。这样,一些基本交互作用就不用在服务器端完成,提高了客户端的响应时间。 VBScript 为了适应Internet上的应用,Microsoft公司把用于应用程序描述的Visual Basic语言压缩成一个更合理的子集,称为Visual Basic Scripting Edition,简称VBScript。它也是一种HTML嵌入脚本语言,具有易学易用等特点。如果你已了解Visual Basic或Visual Basic for Applications,就会很快熟悉VBScript。Microsoft公司将VBScript语言作为实施其ActiveX脚本化的最佳选择,用户可以采用小的相互操作的部件一起来完成工作,使得应用程序的功能列加强大。 Perl Perl是Practical Extraction and Report Language(实用摘录和报告语言)的缩写,由Larry Wall于1986年开发成功。当初的目的主要是Unix环境下从多个文本文件中产生报表,后来成为许多程序员工具箱中最受欢迎的工具,其发展速度和Unix内核的成长速度相仿。现在Perl已经发展到5.0版本,并移植到了各种平台。 Python 是一种跨平台的开发语言,它可以运行在已知的各种操作系统之上,包括windows、Mac OS、Unix、BSD、Palm等。python是一种支持扩展的开发语言,主要的扩展变种有CPython、JPython、PerlPython。它们分别使用C、Java、Perl做它的扩展接口基础环境的。更准确的说,Python也可以是一种 跨语言的语言。 ColdFusion 美国的一对兄弟allire,在为自己的客户解决数据库访问的问题时,感觉到了cgi程序在编写和维护上的难度是不能容忍的困难。于是,具有计算机天赋的Jeremy Allire便在1995年编写了一种快速响应且易于编写的动态脚本语言,叫做coldfusion,一经推出,便震撼整个网络行业。之后,兄弟俩看到了coldfusion的发展前途,便成立了Allire公司(后来被macromedia收购)。之后 的几年,全球500强中的一半都采用了coldfusion来解决公司不同情况的问题。通过不断的版本修改和开发者的不断壮大,Coldfusion后来发展成为业界知名的企业级解决方案的开发首选。现在,为了产品线的统一,为了工业标准的统一,为了完全 兼容Java平台,Macromedia发布了ColdfusionMX。而众位以前经常看到的Neo这个词则是macromedia对于使用新一代coldfusion开发行业解决方案的编码名称。 Java Java是一个由Sun公司开发而成的新一代编程语言。是近年来很流行的一种网络编程语言,它由C语言发展而来,是完全面向对象的语言。在与网络的融合中,已显现出它的强大生命力和广阔的前景。Java的语法简练,学习和掌握比较容易,使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。 您在编程实践中是否常常碰到要为不同的系统平台重复编程(比如为Windows系统设计一套程序,UNIX系统设计一套程序)? Sun Microsystems公司的Java语言以其"一次编程,到处执行"的技术优势,广泛应用于Internet计算机环境下的编程应用,避免您针对不同的系统平台重复编程,减少您的企业的开发成本。 JSP JSP(Java Server Pages,Java服务器页面)是在Sun Microsystems公司的倡导下,由许多公司共同参与建立的一种新的动态网页技术标准。它在动态网页的建设方面具有强大而特殊的功能。Sun公司应用组建“Java社团”的思想开发JSP技术。在开发JSP规范的过程中,Sun公司与许多主要的Web服务器、Web应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作,找到了一种适合于应用和页面开发人员的开发方法,它具有极佳的可移植性和易用性。针对JSP的产品,Sun公司授权予工具提供商(如Macromedia)、结盟公司(如Apache,Netscape)、最终用户、协作商及其他人。最近,Sun公司将最新版本的JSP和Java Servlet(JSP 1.1,Java Servlet 2.2)的源代码发放给Apache,以求JSP和Apache紧密结合、共同发展。Apache,Sun公司和许多其他的公司及个人公开成立的咨询机构更能方便任何公司和个人免费取得信息。 XML XML开发者源于SGML的设计和应用者. 他们已经在SGML上投入了大量精力,但他们却发现SGML 并没有完全发挥它的作用.他们当然有其充分的理由.我们可以列举以下几个重要方面给大家.在这些方面SGML 带来的影响可以说是一场革命. SGML (通用标记语言标准ISO 8879:1986)是HTML的前身技术.它是文件和文件中信息的构成主体. SGML与HTML不同.它允许用户扩展tag集合, 允许用户建立一定的规则. SGML所产生的tag 集合是用来描叙信息段特征的.而HTML仅仅只是一个tag集合.所以我们可以说HTML是一个SGML的子集. 早在Seattle会议之前,Bosak和一些精心挑选的SGML结构信息专家就已向W3C提出了“网络上的SGML”计划. W3C支持并赞助了他们的努力. 工作于1996年7月正式开始起动. 工作的早期,有较大的阻力.因为也存在反对SGML的人.一些制定XML标准的W3C代表甚至声称“网络上的SGML”是不可能实现.工作组(原称“SGML编辑审议委员会”)并未退缩.他们打算让SGML以全新的面目出现在网上,给SGML以全新的面貌,故给它命名为“可扩展标识语言”,即XML.
⑸ python 的优势在哪里
Python的优点
1、虽然Python可能被粗略地分类为"脚本语言"(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是"脚本语言"泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
2、python严格说叫CPython,与C/c++有天然的融合性。这也是python强大的原因之一。在windows环境下可以使用ironpython,这个版本与vc可以结合的比较好。其它的平台可以使用eclipse,不过最好还是直接使用普通的文本编辑器。比较推荐的一个编辑器是sublime text2, geany, vi等。
3、python图形化编程不难。当然MFC也不难。我不认为MFC有多难。其实学习起来只是略难,但是这不是一个数量级的。MFC可以生产出非常强劲的界面。而python界面多属于简单的。
4、Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地
使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。
5、在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于
这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格
言。在Python解释器内运行import this可以获得完整的列表。
6、Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建
起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种
非常强大又简单的方式实现面向对象编程。
7、可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,
然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
8、丰富的库。Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档
生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用
户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。
除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
9、Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。
10、规范的代码。Python采用强制缩进的方式使得代码具有极佳的可读性。
⑹ 什么是Python解释器如何使用Python解释器交互式测试Python代码
摘要 什么是python交互式解释器
⑺ python用什么解释器
Python的编辑器也是众多的,下面说下几种:
提问者使用的是dos的编辑器,这一种当然不舒服;
Python的自带的有两种:
2.1 Shell形式:这一种和dos一样很纠结,如下图:
其他的第三方,比如Eclips+PyDev等;
个人建议你使用2.2里面的Edit模式,启动方法是:
开始--所有程序--Python--IDLE(PythonGUI)。
⑻ Python解释器有哪些
python 解释器很多种,最广泛运用的有:
1、CPython
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
2、IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
3、PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显着提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
4、Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5、IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
6、qpython用于在手机上编程。