Python和PHP有哪些主要区别?

4

我了解一点PHP。但是Python对我来说完全是新的。我只知道它与PHP有些“相似”,对吗?还是错了?我应该知道哪些区别呢?


看看这个能否帮到你:https://hackr.io/blog/python-vs-php-in-2018。 - Saurabh Hooda
3个回答

18

这个 Python 维基页面突出了 Python 和 PHP 之间的主要区别和共同点:

作为语言的比较

PHP有哪些优点是Python没有的?

  • 'switch'语句和'do ... while'结构。
  • 增量、减量和赋值运算符(在Python中只能作为语句)。
  • 三目运算符/语句(... ? ... : ...)。
    • 反驳:Python 2.5有条件表达式。
  • 一个方便(常用)的环境
  • 一种数组类型,既可以作为列表又可以作为字典。字典键按其原始顺序迭代。
  • 私有、受保护和公共修饰符,适用于属性和方法的抽象和最终修饰符,接口。
    • 注意:由于Python具有多重继承,因此需要较少的接口。此外,Python 2.6引入了抽象基类。
  • 变量变量
  • 函数中的默认参数
  • 嵌入HTML(注意:mod_python也具有此功能)。
  • 提供了广泛的字节码缓存。

PHP有哪些Python没有的弱点?

  • 来自C/C++和Perl的(更冗长的)语法,有很多大括号和美元符号和“->”。
  • 混乱的函数名称表。内置库具有各种命名约定。函数通常具有前缀以表示其来源(但通常不是这样)。函数通常放置在类中以模拟命名空间。
  • 较弱的类型系统(不要与动态类型混淆)。

Python有什么PHP没有的?

  • 缩进用于标记块结构,而不是花括号。
    • 反驳:PHP花括号使其更容易与HTML配合使用。
  • 模块
  • 帮助捕获拼写错误的规则;读取未定义的变量是一个错误,它不会被静默地视为null。
    • 反驳:PHP将发出E_NOTICE。这将显示在开发环境中。
      • 反驳:在生产环境中仍然存在危险。就开发而言,配置、监视日志等都是额外的麻烦,当它可以停止时,你应该消除这些问题。PHP仍然采用更随意的方法,可能是因为人们在现有代码库中广泛利用了未定义的变量,所以他们无法修复这个问题。
  • 一个小的核心(语言或运行时?)

    • 反驳:这并不完全正确(需要实质性支持)
  • 非常清晰、简洁和正交的语法

  • 关键字参数(即,通过名称而不是位置传递的参数)到函数和方法,易于支持默认参数

    • 反驳:PHP具有默认参数

      • 反驳:默认值没有关键字参数那么有用
  • 真正的面向对象和'第一类'类和函数

    • 反驳:在PHP 5中,OO已经彻底改进了


有人应该更新维基百科。我看到大多数评论都提到了 PHP 5,并且有一个评论说 PHP 6 将是一个即将到来的好处,但实际上它已经被取消了。 - mbomb007

16

PHP是一种专为Web设计的语言。你可以使用PHP创建GTK和CLI应用程序,但它主要用于网站。Python用于许多领域,例如网站、Web服务器、游戏框架、桌面和CLI应用程序、IDE等。

两种语言的语法也有很大的不同。PHP的语法类似于C语言,使用大括号表示循环并忽略空格。而Python没有大括号,相反,代码块的缩进级别很重要。

两种语言都很容易学习,只是取决于你想做什么。


from __future__ import braces - mbomb007

1

一个主要的区别是,代码格式(缩进)会影响Python中代码的行为。PHP不关心您如何格式化代码。

此外,PHP可能能够在Web服务器和CLI之外生成应用程序,但绝对针对这两个环境,而Python更具“通用性”。


5
缩进并不是主要的差异之一。这只是表面现象。 - Jason Orendorff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接