python 和 php 我都是使用过,这里不想做一个非常理性的分析,只是根据自己的经验谈一下感想。

在web开发方面,无疑 php 更甚一筹。

从某种角度来说,php 就是专门为 web 定制的语言。 他没有强制的变量类型,文件结构也很松散, 不需要再代码中手动导入各种类库,开发非常快速方便,稳定性也非常好。 python 则不然, 它需要手动定义很多参数, 大多数时候,需要一个类似 uwsgi 的 中间服务器 和 nginx,apache等更专业的web服务器通讯。虽然 uwsgi 也可以作为 web 服务器使用,却很少人这样使用。由于强制类型和严格的格式书写的关系,它在开发和维护的成本都比较高。

在开发模块和中间件以及开源软件上,python各甚一筹。

php 的劣势在于,它的各种模块不够丰富灵活,只能通过加载php扩展来实现,过于笨重;它的语言也不够严谨,不是一个开发基础模块很好的选择。 所以可以看到,市面上,许多基础的开源软件都是使用更为严谨的语言来开发的,如 python, java, node.js 等,这些开源软件有 sqlmap( python), elasticsearch( java ) 等。 python 有大量的各种模块可以使用,使得可以灵活的开发出各种软件。

在人工智能方面,python各甚一筹。

tensorflow 百分之40%的语言是用 python 完成,重要性可见一斑。

在兼容性方面,php更甚一筹。

php 无疑有更好的向后兼容性,即使现在最新版本已经达到 php7.2, 但是将php5 甚至 php4 的项目迁移到上面的时候,也不会出现非常大的不兼容。 完善的文档还会提示你,使用哪些函数更好,哪些函数以后会被弃用。 这无疑极大的减少了开发者的维护成本。

python 则不然,python2 和 3 在类库 上有极大的不同,python2的项目迁移到 python3上需要极大的成本。

结尾和关于写一个学习django源码系列的专题想法

django 是一个 python 的 web 框架。 对比 php 的 codeigniter 框架,可以发现。 同为MVC 模型,它的代码风格是不一样的,复杂度是更高的。 所以,作为一个学习的材料。我可以通过 django 更好的了解 python 中的一些设计思想。

python对比php开发web_django学习系列——python和php对比相关推荐

  1. python代码测试_Python入门学习系列——Python代码测试

    Python代码测试 对于编写的代码,可以使用unittest模块中的相关方法进行测试. 测试函数 首先定义一个简单的函数,该函数用来合并名称并返回. name_function.py: def ge ...

  2. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?

    用Python开展web开发必须学习哪些? 针对新手想更轻轻松松的学好Python开发技术性,Python网络爬虫,Python数据分析,人工智能技术等技术性,这儿给大伙儿共享一套系统软件教育资源,加 ...

  3. python 几何教学_opencv-python教程学习系列11-几何变换

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍几何变换,坚持学习,共同进步. 系统环境 系统:win7_x64; python版本:python ...

  4. python字典zip函数_Python学习系列之zip函数

    目录 一.zip函数(内建函数) 1.1 定义 Python 2:zip() 函数用于将可迭代的对象(字典,列表,元组,集合,字符串等)作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组 ...

  5. python区块链开发_Fabric区块链Python开发详解

    Hyperledger Fabric是最流行的联盟区块链平台.Fabric区块链Python开发详解课程 涵盖Fabric区块链的核心概念.Fabric网络搭建.Node链码开发.Python应用开发 ...

  6. 自学python能找到工作吗-学习完Python后真的能找到工作吗?老男孩Python培训班

    Python是很多人都想要去学习的一门编程语言,因为Python简单易学,对比其他的语言来说学习起来更加容易一些,效率也是非常高的,而且目前市场上对于Python的人才需求量是非常大,因此吸引了不少人 ...

  7. python二次开发攻略-ABAQUS Python二次开发攻略

    第一部分 引言 第1章 Abaqus二次开发简介 12 1.1 为什么是Python 12 1.2 Python.FORTRAN与Abaqus 13 1.3 基于Python二次开发 14 第2章 P ...

  8. python程序运行键_python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  9. python 英语培训_英语学习与Python编程语言学习相辅相成(三十一)

    最近在学习Python编程语言,Python编程语言并不难学,入门很容易,编程的语言用英语编,编写的第一个程序是" Hello World",你好,世界. 在学Python编程语言 ...

  10. 什么是python全栈开发_什么是python全栈

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 ...

最新文章

  1. php7+的php-fpm参数配置,注意事项
  2. 通信信号处理中为什么要分为I、Q两路
  3. 最近的状态很不好,需要调整
  4. JBoss Portal CAS 的配置
  5. 18c分布式事务 oracle_分布式事务的现象及理解
  6. mysql数据库设计中的14个技巧
  7. 路由器装上去没有网络_5G网络那么快,今后路由器没有存在的价值了?
  8. python 异步io_python异步IO编程(一)
  9. iOS8中UITableVIew分割线短的问题
  10. Bootstrap3基础 栅格系统 标尺(col-lg/md/sm/xs-1)
  11. 关键词词云怎么做_网友问:做独立站,怎么做关键词排名,怎么做客户流量?...
  12. android设计个人简历页面_制作个人简历网站教程
  13. linux中vim怎么编辑文件内容,Linux 使用vim命令编辑文件内容
  14. CMM&CMMI 简介
  15. Oracle DB 数据库维护
  16. 奇偶归一猜想(多组数据)——又称为3n+1猜想、冰雹猜想、角谷猜想
  17. 使用Boostrap制作导航栏和汉堡按钮
  18. linux服务器之间文件传输scp
  19. CSS——浮动的清除
  20. Excel·VBA工作簿拆分所有工作表单独保存

热门文章

  1. 毕设题目:Matlab无人机飞行作业
  2. 【车间调度】基于matlab多层编码遗传算法求解车间调度问题【含Matlab源码 035期】
  3. pyspark to mysql_Pyspark学习笔记第2篇:connect mysql
  4. c语言连接mysql_0基础掌握Django框架(14)MySQL相关软件
  5. @autowired注解 抽象类_Spring容器注解注入
  6. html标签asp/,HTML标签及ASP函数速查表
  7. java队列和栈实现原理_Java特性队列和栈的堵塞原理解析
  8. polar函数--Matplotlib
  9. Idea Debug多线程不进断点问题处理
  10. 金蝶K3 WISE BOM多级展开_销售成本表