python的优缺点

python的优缺点

优点

  简单————Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

  易学————就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。

  免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

  高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

  可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的android平台!

  解释性————这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

  面向对象————Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

  可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

  可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

  丰富的库————Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

  概括————Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。

  规范的代码————Python采用强制缩进的方式使得代码具有极佳的可读性。

缺点

强制缩进

  这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

单行语句和命令行输出问题

  很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。(对很多用户而言这也不算是限制)

  NO.1 运行速度,有速度要求的话,用C++改写关键部分吧。

  NO.2 国内市场较小(国内以python来做主要开发的,目前只有一些 web2.0公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

  No.3 中文资料匮乏(好的python中文资料屈指可数)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

  NO.4 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springCloud - 第12篇 - 服务监控 Hystrix 面板

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 前面有用过 Hystrix 熔断,在多服务运行时。可以通过 Hystrix 的监控面板来实时观察各个服务的运行健康、效率和请求量等。 …

专访Google数据科学家彭晨:大数据成为潮流走近各行各业!

摘要:在“2014中美大数据研讨会”开始之前,CSDN采访了谷歌公司数据科学家彭晨,他表示之所以“大数据”火,是因为人类第一次可以精确的、系统的、实时的、全方位的、永久的获取、记录、分析、并保存海量的数据。 端午节后6月6日&a…

解决:ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 场景,springcloud 学习工程中,把 feign 和 ribbon 工程 作为应用服务,纳入 hystrix-turbine 服务…

白领夫妇白手起家 6年赚得两房两车

“让金钱成为你们的奴隶,而不是被金钱奴役着。”金先生谈到他的理财经验时如是说。从大学毕业开始,他通过6年在投资道路上摸爬滚打,靠夫妻两人的双手挣得了全部的家当而没有依靠父母,如今已拥有两房两车和上百万的资产&#xff0c…

解决:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 场景:启动一个需要注册到 eureka 注册中心的服务 seeParam 报错: com.sun.jersey.api.client.ClientHandle…

springCloud - 第13篇 - 服务监控 集群模式 Hystrix-turbine

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 在springcloud 体系中,可以用 hystrix-dashboard 实时监控服务的运行状态。上一文记录了单实例的监控,现在实…

借钱的境界:开价越低 借成的机会反而越小

一提起借钱,没有几个人不胆战心惊的。有限的几张钞票,好端端地隐居在自己口袋里,忽然一只手伸过来把它带走,真教人一点安全感都没有。借钱的威胁不下于核子战争:后者毕竟不常发生,而且同难者众,…

解决:Error response from daemon: Cannot restart container xxx: driver failed programming external

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 我的情况:个人站点访问不了,重启了阿里云ECS服务器后,发现服务器 80端口不通,于是重启…

专访许鹏:谈C程序员修养及大型项目源码阅读与学习

摘要:阅读源码是开源项目最好的学习方式,然而真正的执行起来却并不容易。这里我们为大家分享许鹏的源码阅读经验、C程序员的修养以及Spark和Storm源码走读博文。 对许鹏的第一印象来源于其Bolg的粗读,最早时候更准确说应该是博文的粗略统计—…

解决:mysql 连接报错 Authentication plugin ‘caching_sha2_password‘cannot be loaded

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Navicat连接linux上的mysql时报如下错误: 错误原因: 即从mysql5.7版本之后,默认采用了caching_sha2_…

酒店房间和 C++ 局部变量的作用域

本文由 伯乐在线 - 菜鸟浮出水 翻译自 StackOverflow。欢迎加入 技术翻译小组。转载请参见文章末尾处的要求。问题:Can a local variable’s memory be accessed outside its scope? 有一段局部变量的内存,可以从其范围之外访问它么? 如下…

解决:Access denied for user ‘root’@‘localhost’(using password: YES)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我报这个错的原因很简单:数据库连接时密码输入错误。把密码确认对了,就连接成功了。

【历史回顾】Linux发展一览

我们周围到处都有Linux的身影,在家中、公司里、大学、实验室,太空空间站。现在的Linux已经从一个个人爱好发展成了一场计算机革命。在这篇文章里,我们向你展示最完整的Linux 23年来发展的历史年表。我们周围到处都有Linux的身影,在…

专访联想谢政维:功耗和价格是天蝎项目最大障碍!

摘要:与国外OpenStack和OCP(开放计算项目)频频见诸报端不同,中国的天蝎计划看起来神神秘秘,今天专访联想谢政维,他帮我们解密了目前天蝎项目的一些基本情况,以及他对未来天蝎发展的观点。 服务…

解决:Chrome 插件安装时提示 程序包无效:“CRX_HEADER_INVALID“

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 今天在添加谷歌插件的时候,却发现谷歌浏览器显示 程序包无效:"CRX_HEADER_INVALID",现整理…

65种GPU性能测试,AMD开源驱动领先!

摘要:近日,Phoronix测试了65 种不同的GPU使用开源驱动的OpenGL性能,测试的GPU型号包括Intel HD Graphics、AMD Radeon、AMD FirePro和NVIDIA GeForce系列。结果显示,相比之下,AMD开源驱动领先于NVIDIA。 【编者按】20…

1分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1、entity 里的每一个字段,与数据库相对应, 2、vo 里的每一个字段,是和你前台 html 页面相对应&…

指尖上的艺术——如何运用代码发挥无限创意

摘要:计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。 写在前面 生成的艺术,指尖上的艺术&#…

解决:XXX类存在 却报错 Unkonwn class:‘XXX‘ 、@Autoeired 注入失败

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 我的情况如图,有一个CuxxxxManager 类明明是就在本工程中的,我想注入到对应 Service 中,却直接报…

精益设计:“纸上谈兵”的说服力

摘要:当你和团队通宵达旦地输出大量完整而精美的方案时,可客户却根本不买帐。这究竟是沟通出了问题,还是我们犯了错?如何提高设计效率、提升沟通及如何设计出更好的用户体验是每个互联网从业者都值得关注的问题。 【编者按】此前…