搜档网
当前位置:搜档网 › php和python的比较

php和python的比较

php和python的比较
php和python的比较

hon的应用现在越来越多了,想多了解点pygtk和django的东西,但只有一些php和C的基础,而python的语法还是比较独特的。接触python 半年多,总结一点和php的比较以及优缺点。

首先,python的性能一直比较争议,而php本身的速度是比java的东西慢,但和db操作起来,肯定是比java的东西快很多了,这算是一个php 的优势。并且php的成本较低(LAMP)应该算是很便宜的东东了,而现在支持python的服务器还不是很普遍,对机器要求也较高。下面简单看看语法。

php这种类C的语法是以大括号划分代码块来确定程序逻辑的,而python则是以代码缩进的形式。优缺点都有,缩进自然简化了输入繁琐,有人描述写python程序跟写英文作文一样,虽然这个描述有点夸张,但确实反应了python的优雅语法。唯一比较麻烦的事情就是用惯了类C 语法的人对缩进不是很适应,比如我刚用python的时候,程序报错30%是缩进相关的问题,慢慢习惯就好了。下面说说引号,php中有单引和双引,加上dochere语法。单引不解析其内的变量或者转义字符,但是速度较快,所以如果是纯字符串,推荐用单引。而双引会将里面的变量或者转义字符解析后输出。php的dochere语法可以输入较长的字符串,而不用顾及单引和双引的交叉问题,但dochere语法要求较为“严格”,比如必须顶头写,开始标记和结束标记必须相同。而python的三引号语法使用起来很简单,单引和双引则没有区别(这点跟php和java等语言不一样)。

下面看数据类型。别的区别不大,主要是php数组这块,php如果分的比较详细,就是一个数组和关联数组,数组相当于python的列表(list),关联数组相当于python的字典(dictionary, perl中叫哈希hash),另外python还有一个tuple(元组),其中的内容和字符串一样是不可变化的。下面看数据处理,php的大部分数据处理都是数组操作,有一大堆以array_开头的函数可提供功能,数组没有负索引,而python的序列相关操作比较方便,功能更强大。php在一些特殊操作平台用-a参数可以使用交互模式,而python也支持交互模式,一些简单计算可以直接使用。

web方面:php的开发框架比较成熟,大都是mysql数据库驱动的。而python目前比较成熟的开发框架不是很多,流行的有zope,django和豆瓣用的Quixote。也不知道豆瓣当时为什么选择后者,可能当时ror和django这些东西还没有吧。

最后说下OO,现在大部分php的产品还是面向过程的,除了使用一些第三方的开源库。php5引入了很多的面向对象特性,对之前的版本来说,面向对象特性就是个鸡肋。而python的模块,OO机制很不错,也是学习的一个重点。

总之,python的特性有很多,学习它一定不会失望。由于本人水平有限的可怜,这个小文章就当是给想接触python的phper们一点动力吧。

相关主题