Python的优点和缺点

Python 是一种开源的解释型脚本编程语言,它之所以非常流行,主要有三点原因:

  • Python 简单易用,学习成本低,看起来非常优雅干净;
  • Python 标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用;
  • Python 站在了人工智能和大数据的风口上,站在风口上,猪都能飞起来。

举个简单的例子来说明一下 Python 的简单:

比如要实现某个功能,C语言可能需要 100 行代码,而 Python 可能只需要几行代码,因为C语言什么都要得从头开始,而 Python 已经内置了很多常见功能,我们只需要导入包,然后调用一个函数即可。

简单就是 Python 的巨大魅力之一,是它的杀手锏,用惯了 Python 再用C语言简直不能忍受。

本文就来汇总一下 Python 的特性,综合对比一下它的优缺点。

Python的优点

1) 语法简单

和传统的 C/C++JavaC# 等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。我来举两个典型的例子:

  • Python 不要求在每个语句的最后写上分号,当然写也没错;
  • 定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。

上述两点也是 PHPJavaScriptMATLAB 等常见脚本语言都具备的特性。

Python 是一种代表极简主义的编程语言,阅读一段排版优美的 Python 代码,就像在阅读一个英文段落,非常贴近人类语言,所以人们常说,Python 是一种具有伪代码特点的编程语言。

伪代码(Pseudo Code)是一种算法描述语言,它介于自然语言和编程语言之间。编写伪代码的目的是为了使被描述的算法可以更容易地以任何一种编程语言实现,比如 C、C++、Java 等。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似于自然语言。如果你学过数据结构,阅读过严蔚敏的书籍,那你一定知道什么是伪代码。

为什么说简单就是杀手锏?一旦简单了,一件事情就会变得很纯粹;我们在开发 Python 程序时,可以专注于解决问题本身,而不用顾虑语法的细枝末节。在简单的环境中做一件纯粹的事情,那简直是一种享受。

2) Python 是开源的

开源,也即开放源代码,意思是所有用户都可以看到源代码。

Python 的开源体现在两方面:

① 程序员使用 Python 编写的代码是开源的。

比如我们开发了一个 BBS 系统(即网络论坛),放在互联网上让用户下载,那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。

② Python 解释器和模块是开源的。

官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多也就越健壮。

这个世界上总有那么一小撮人,他们或者不慕名利,或者为了达到某种目的,会不断地加强和改善 Python。千万不要认为所有人都是只图眼前利益的,总有一些精英会放长线钓大鱼,总有一些极客会做一些炫酷的事情。

3) Python 是免费的

开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。

用户使用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。

4) Python 是高级语言

这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。

高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。

5) Python 是解释型语言,能跨平台

解释型语言一般都是跨平台的(可移植性好),Python 也不例外。

5) Python 是面向对象的编程语言

面向对象(Object Oriented)是大多数“现代”语言(即第三代编程语言)都具备的特性,否则在开发中大型程序时会捉襟见肘。

Python 虽然支持面向对象,但它并不强制你使用这种特性。Java 是典型的面向对象的编程语言,它强制必须以类和对象的形式来组织代码。除 Python 和 Java 外,C++、C#、PHP、RuBy、Perl 等,也都支持面向对象的特性。

除了面向对象的编程语言外,还有一种面向过程的编程语言,其中最典型的代表就是 C 语言。

6) Python 功能强大(模块众多)

Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。

Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与到模块的开发中,这其中就有 Google(谷歌)、Facebook(脸书)、Microsoft(微软) 等软件巨头。

在 Python 中,即使是一些小众的功能,它往往也有对应的开源模块,甚至有可能不止一个。

7) Python 可扩展性强

Python 的可扩展性体现在它的模块,Python 具有脚本语言中最丰富、强大的库或模块,这些库或模块覆盖了文件操作、图形界面编程、网络编程、数据库访问等绝大部分应用场景。

值得注意的是,这些类库的底层代码不一定都是 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基础--从入门到精通(下面教程三选一即可)

1.美女老师用甜美、清脆的声音伴随你快速入门Python。

2.受广大网友好评,听这套教程不会犯困,不会打盹。

3.2021新版Python,不一样的学习体验。

第二阶段:Python进阶--Web核心技术

1.针对python编程进一步所需要的知识点详细讲解,构建python语言的完成的编程能力。

2.对于Python多线程编程的详细精讲

3.2021最新python入门系列,多任务编程、网络编程、HTTP 协议,静态 Web 服务器、MySQL 数据库 、Pyhton 高级语法、正则表达式、HTML+CSS+JS+Jquery、Mini-Web 服务器等。

4.Python的mysql数据库精讲,要仔细研读呦。

第三阶段:Python数据采集

1.黑马程序员Python爬虫基础,快速入门Scrapy爬虫框架_哔哩哔哩_bilibili

2.黑马程序员180分钟轻松获取疫情数据,Python爬虫入门课_哔哩哔哩_bilibili

第四阶段:Python企业实战项目

23天企业实战项目,美多商城前台由首页、商品列表页、商品详情页、商品搜索、购物车系统、订单系统、支付系统等,这套学完了一般的企业级开发不在话下。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python作为一门编程语言,具有以下优点缺点优点: 1) 简洁易读:Python的语法简单、代码易读,使得开发者能够更快速地理解和编写代码。 2) 开源:Python是开源的,拥有庞大的社区支持和活跃的开发者社群,可以方便地获取各种资源和解决方案。 3) 大量库和框架:Python拥有丰富的标准库和第三方库,涵盖了各种领域的功能,如科学计算、数据分析、Web开发等,开发者可以快速构建复杂的应用。 4) 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux、Mac等,提供了很大的灵活性。 5) 面向对象编程:Python支持面向对象编程范式,使得代码更易于组织、扩展和维护。 6) 社区活跃:Python拥有庞大的社区和活跃的开发者群体,能够获得及时的技术支持和更新的软件版本。 缺点: 1) 运行速度相对较慢:由于Python是解释型语言,相比于编译型语言执行效率较低,对于某些计算密集型任务可能不够高效。 2) GIL限制:Python的全局解释器锁(Global Interpreter Lock,GIL)限制了多线程的并行执行效果,因此在某些情况下无法充分利用多核处理器的优势。 3) 设计限制:Python的设计思想和语言特性可能不适合某些特定的应用领域,如嵌入式系统开发等。 4) 不适合开发移动应用:虽然Python有一些移动应用开发框架(如Kivy、PyQt等),但与专门的移动开发语言相比,Python在移动应用开发方面的支持相对较弱。 需要注意的是,优点缺点都是相对的,取决于具体的应用场景和需求。Python作为一门通用的高级编程语言,在各个领域都有其优势和适用性。\[1\] \[2\] #### 引用[.reference_title] - *1* [Python优点缺点](https://blog.csdn.net/m0_62617719/article/details/122168865?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168932284516800180656363%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168932284516800180656363&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-7-122168865-null-null.nonecase&utm_term=%E4%BD%A0%E7%9F%A5%E9%81%93python%E6%9C%89%E4%BB%80%E4%B9%88%E4%BC%98%E7%82%B9%E5%90%97)[target="_blank"] [.reference_item] - *2* [学习Python语言,需要先了解一下Python有什么优缺点?](https://blog.csdn.net/duozhishidai/article/details/89679936?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168932284516800180656363%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168932284516800180656363&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-89679936-null-null.nonecase&utm_term=%E4%BD%A0%E7%9F%A5%E9%81%93python%E6%9C%89%E4%BB%80%E4%B9%88%E4%BC%98%E7%82%B9%E5%90%97)[target="_blank"] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值