Python——特点(优点缺点)
Python——特点(优点&缺点)
Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行,我认为主要有三点原因:
- Python 简单易用,学习成本低,看起来非常优雅干净;
- Python 标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用;
- Python 站在了人工智能和大数据的风口上,站在风口上,猪都能飞起来。
举个简单的例子来说明一下 Python 的简单。比如要实现某个功能,C语言可能需要 100 行代码,而 Python
可能只需要几行代码,因为C语言什么都要得从头开始,而 Python 已经内置了很多常见功能,我们只需要导入包,然后调用一个函数即可。
- 简单就是 Python 的巨大魅力之一,是它的杀手锏,用惯了 Python 再用C语言简直不能忍受。
本文就来汇总一下 Python 的特性,综合对比一下它的优缺点。
Python 的优点
1. 语法简单
- 和传统的 C/C++、Java、C# 等语言相比,Python对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。 我来举两个典型的例子:
-Python 不要求在每个语句的最后写分号,当然写上也没错;
-定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
这两点也是 PHP、JavaScript、MATLAB 等常见脚本语言都具备的特性。
- Python 是一种代表极简主义的编程语言,阅读一段排版优美的 Python 代码,就像在阅读一个英文段落,非常贴近人类语言,所以人们常说,Python 是一种具有伪代码特质的编程语言。
- 伪代码(Pseudo Code)是一种算法描述语言,它介于自然语言和编程语言之间,使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。
如果你学过数据结构,阅读过严蔚敏的书籍,那你一定知道什么是伪代码。
- 为什么说简单就是杀手锏?一旦简单了,一件事情就会变得很纯粹;我们在开发 Python 程序时,可以专注于解决问题本身,而不用顾虑语法的细枝末节。在简单的环境中做一件纯粹的事情,那简直是一种享受。
2. Python 是开源的
- 开源,也即开放源代码,意思是所有用户都可以看到源代码。
- Python 的开源体现在两方面:
① 程序员使用 Python 编写的代码是开源的。
比如我们开发了一个 BBS 系统,放在互联网上让用户下载,那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。
② Python 解释器和模块是开源的。
官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多就越健壮。
- 这个世界上总有那么一小撮人,他们或者不慕名利,或者为了达到某种目的,会不断地加强和改善 Python。千万不要认为所有人都是只图眼前利益的,总有一些精英会放长线钓大鱼,总有一些极客会做一些炫酷的事情。
3. Python 是免费的
- 开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。
- 用户使用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
4. Python 是高级语言
- 这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。
- 高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。
5. Python 是解释型语言,能跨平台
- 解释型语言一般都是跨平台的(可移植性好),Python 也不例外,我们已经在《编译型语言和解释型语言的区别》中进行了讲解,这里不再赘述。
Python 是面向对象的编程语言 - 面向对象是现代编程语言一般都具备的特性,否则在开发中大型程序时会捉襟见肘。
- Python 支持面向对象,但它不强制使用面向对象。Java 是典型的面向对象的编程语言,但是它强制必须以类和对象的形式来组织代码。
6. Python 功能强大(模块众多)
- Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。
- Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与进来开发模块,这其中就有 Google、Facebook、Microsoft 等软件巨头。即使是一些小众的功能,Python 往往也有对应的开源模块,甚至有可能不止一个模块。
7. Python 可扩展性强
- Python 的可扩展性体现在它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
- 这些类库的底层代码不一定都是 Python,还有很多 C/C++ 的身影。当需要一段关键代码运行速度更快时,就可以使用 C/C++ 语言实现,然后在 Python 中调用它们。Python 能把其它语言“粘”在一起,所以被称为“胶水语言”。
- Python 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。
Python 的缺点
- 除了上面提到的各种优点,Python 也是有缺点的。
1. 运行速度慢
- 运行速度慢是解释型语言的通病,Python 也不例外。
- Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python
是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。 - Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
- 但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
- 其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。
2. 代码加密困难
- 不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。
- 开源是软件产业的大趋势,传统程序员需要转变观念。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<Python是什么----------------------------------------------------------------------------------------------------------------学Python—不需要有编程基础>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Python——特点(优点缺点)相关推荐
- Python的优点与缺点
Python的优点 简单 Python的语法非常优雅,甚至没有像其他语言的大括号,分号等特殊符号,代表了一种极简主义的设计思想.阅读Python程序像是在读英语. 易学 Python入手非常快,学习曲 ...
- Node.js 对比 Python:优点、缺点和用例
在为后端开发选择编程语言时,你的选择决定了产品将如何操作.扩展和满足用户需求. 其中最常见的问题是 Node.js 与 Python 之间的矛盾.这两种选择非常受欢迎,但是各有优缺点.我们把两者进行 ...
- python的优点-python的优点
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接口调用方 ...
- python的优点-python的功能与优缺点
来源:Linux论坛 查看:5540 回复:6 想学习Python的人都会有一个困惑,那就是Python目前有两个版本Python2和Python3,Python2与Python3有何区别,两个版本该 ...
- yolov3算法优点缺点_优点缺点
yolov3算法优点缺点 Naive Bayes: A classification algorithm under a supervised learning group based on Prob ...
- python语言的缺点-python优缺点分析及python种类
Python的缺点: 相较于其它类型的语言可能运行速度上会略差.C语言的运行性能速度上最好,因为C最接近计算机底层. Python的优点: 大数据处理,有专门的功能模块,比较方便. Linux自带Py ...
- 数据库索引的作用和优点缺点
原文:数据库索引的作用和优点缺点 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二,可以大大加快 数据的检索速 ...
- 推荐系统中常用算法 以及优点缺点对比
推荐系统中常用算法 以及优点缺点对比 2014/09/20 [Martin导读]随着互联网特别是社会化网络的快速发展,我们正处于信息过载的时代.用户面对过量的信息很难找到自己真正感兴趣的内容,而内容提 ...
- 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。...
横瓜执导众程序员开展大讨论关于C.JAVA及其它主流IT技术使用情况和优点缺点. 遥执乾坤(44758121) 18:21:23 mysql据说只能使用一个索引,我这里几乎所有字段都有索引. 但每个 ...
最新文章
- 基于Proxy的小程序状态管理
- java 判断水仙花_Java实现判断水仙花数
- [转]Erlang 大量写入出警报
- 一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」
- 如何解包/编辑/打包boot.img文件
- 工作117:eachat图
- centos8 阿里云yum源_CentOS7更换阿里yum源
- 腾讯回应租号打游戏:已向超20家账号交易平台发函
- 反向传播算法BP公式推导
- Aidlearning的内网穿透
- orge terrain
- WPS如何并排放置两张图片_动图演示如何制作XRD叠图与PDF卡线图
- win7左上角白杠一直闪_win10换win7
- 【安卓R 源码】获取音频焦点和释放音频焦点
- everything搜索指定路径下的多个文件
- 手把手教你学51单片机-如何学习单片机
- win10 移动文件夹和移动文件
- 在学习python的过程中,遇到的最大的困难是什么?
- Mac(OSX)下媲美XShell的神器Termius
- 文亡用计算机,手机计算器阵亡 10%+10%=0.11?
热门文章
- Linux桥mac地址表(Hash表)结构
- iframe透明的解决办法
- python简单读写记账代码_Python之区块链简单记账本实现
- jQuery实现网页右下角弹出广告
- 全国计算机等级考试一级练习题,全国计算机等级考试一级练习试题
- Qt学习笔记(三)——记事本
- 【批处理命令BAT】一键关闭占用指定网络端口的进程
- 打印机已连接到无线AP但是安装驱动时找不到打印机
- 【ASP】链接Access2007与Access2003的不同写法
- 关于05.轮播图.html:177 Uncaught TypeError: Cannot set properties of null (setting ‘onclick’)