一文带你深刻的进入python,并且了解python的优缺点

Posted 阿玥的小东东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文带你深刻的进入python,并且了解python的优缺点相关的知识,希望对你有一定的参考价值。

嗯,你好,感谢您能打开我的文章,在这里我有一个好消息来告诉大家呢,那就是:还有350多天就要过年啦,哈哈哈哈,开不开心,兴不兴奋

名字:阿玥的小东东

学习:python、c++

主页:阿玥的小东东

目录

1. 前言

2. Python 的特点

3. Python 的使用领域

3.1 数据爬虫

3.2 Web 开发

3.3 软件测试

3.4 运维

3.5 人工智能

3.6 数据分析数据挖掘

4. 并非只有编程人员使用Python

5. Python 入门很简单

6.python的优点

7.python的缺点

写在最后


1. 前言

最近几年Python被吹的神乎其神,很多同学都不清楚Python到底能干什么?就盲目去学习Python,今天我就Python的应用领域来简单盘点一下,让想学习Python 的同学找对方向不迷茫。

2. Python 的特点

这里就谈谈自己的看法,首先 Python是跨平台语言,语法很简洁,很短的代码干更多的事。另外它是脚本语言,随时随地写一段脚本就可以处理数据,十分方便。同时它也是面向对象语言,对初学者十分友好。Python 在处理各个领域的类库也十分丰富,爬虫、机器学习、数据处理、图像处理等等满足了大部分领域的需要。更重要的是 Python 是一种“胶水语言”,可以轻松调用主流的C、C++、Java 类库。 但是这就是 Python 被 “吹”起来的原因吗?当然不是!如果一门语言没有实际用武之地,即使它再优秀也没有意义,也不可能优秀。

3. Python 的使用领域

接下来我们就来看看 Python 在哪些领域有实际的运用。

3.1 数据爬虫

当今互联网数据成为任何一家公司最核心的资产,但是互联网的信息非常海量,未来快速获取有用的公开信息,爬虫就派上了用场。而Python 语言非常善于编写爬虫,通过requests 库抓取网页数据,使用BeautifulSoup 解析网页并清晰和组织数据就可以快速精准获取数据。 用爬虫爬付费音乐,文章,视频,图片等,疫情期间让我度过了很多无聊的时光。(当然如果你没有搞好,可能有人给你打电话:你好,请问你是···先生/女生嘛,我们这边显示您有犯罪的嫌疑,我们正在你们楼下,麻烦和我们走一趟吧·············后续请脑补

3.2 Web 开发

能开发 Web 的不仅仅有 Java , Python 也可以进行快速的 Web 开发,Django、Flask 等都是知名的 Python Web 框架。能够充分利用 Python 的特性进行高效的 Web 开发。

3.3 软件测试

Python 写测试脚本让测试人员掉更少的头发。目前主流的自动化测试框架都支持 Python 脚本。而且招聘网站上测试人员需要掌握的一门语言都有 Python 。

3.4 运维

对于大型平台的运维管理,甚至是自动化运维。Python 也有相关的强大工具诸如fabric、saltstack、ansible。还有我们都熟悉的云计算网络运维,可以找网络豆进行学习

3.5 人工智能

人工智能的核心是算法和模型。需要快速的聚焦问题的本身,而且需要能够进行交互式的进行模型训练。而能够满足这些需求的只有 Python 了。目前主流的两大深度学习框架 TensorFlow 和 Pytorch 都是 Python 写的,而且小而美的 Darknet 也是 Python 开发的。目前我也在使用 Python 进行深度学习的相关开发,如果用java 进行开发将非常复杂,因为神经网络计算都是大量的高维矩阵进行复杂的乘法运算。

而 Python 的语法特性可以很好的处理这种高维数据的运算。然后我们就可以训练出权重模型来识别图片中的目标的数量、位置等等。

3.6 数据分析数据挖掘

对于海量数据的处理是 Python 的强项。所以数据工程师的必备技能也是 Python。数据清洗非常方便。数据分析库Pandas提供了方便的 Api 让你对数据进行分析,结构化,图形展示。 Python 也提供了快速可视化工具诸如m

对于海量数据的处理是 Python 的强项。所以数据工程师的必备技能也是 Python。数据清洗非常方便。数据分析库Pandas提供了方便的 Api 让你对数据进行分析,结构化,图形展示。 Python 也提供了快速可视化工具诸如matplotlib、holoviews 等,让数据快速可视化。

4. 并非只有编程人员使用Python

Python 并非只适合开发技术人员使用,在金融领域很多从业人员也用 Python 来进行金融量化。办公白领如果会使用 Python 可以很方便来批量操作 Excel 、Word 、PDF,让你成为真正的时间管理大师。遗憾的是,Python 目前还不能用来炒菜做饭。

5. Python 入门很简单

其实有编程基础的人,最快可以半天掌握 Python 的基本语法。我个人也建议 Python 作为开发者的第二语言。但是如果要熟练的使用 Python 还需要系统的学习。Python 的一些常用类库学习起来比 Python 本身难得多,比如常用的Numpy、Pandas ,需要通过系统的学习和练习才行。

Python学习路线汇总

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

6.python的优点

1) 语法简单

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

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


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

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 是解释型语言,能跨平台

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 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。

7.python的缺点

除了上面提到的各种优点,Python 也是有缺点的。

1) 运行速度慢

运行速度慢是解释型语言的通病,Python 也不例外。

Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。

Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。

但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。

其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。

2) 代码加密困难

不像编译型语言那样,源代码会被编译成可执行程序(这个编译过程就相当于对源码加密),对于 Python 来说是直接运行源代码,因此对源码加密是比较困难的。

写在最后

哈哈哈,还有350多天就过年啦,我好开心呢

以上是关于一文带你深刻的进入python,并且了解python的优缺点的主要内容,如果未能解决你的问题,请参考以下文章

一文带你深刻的进入python,并且了解python的优缺点

一文带你深刻的进入python,并且了解python的优缺点

一文带你了解 Python 中的继承知识点

一文带你了解 Python 中的装饰器

一文带你了解最火热的NFT项目

一文带你全面了解RxJava