目录
1.前言
2.Python的特点
3.Python的使用领域
3.1数据爬虫
3.2Web开发
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.2Web开发
能开发Web的不仅仅有Java,Python也可以进行快速的Web开发,Django、Flask等都是知名的PythonWeb框架。能够充分利用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是一种具有伪代码特点的编程语言。
伪代码(PseudoCode)是一种算法描述语言,它介于自然语言和编程语言之间。编写伪代码的目的是为了使被描述的算法可以更容易地以任何一种编程语言实现,比如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是面向对象的编程语言
面向对象(ObjectOriented)是大多数“现代”语言(即第三代编程语言)都具备的特性,否则在开发中大型程序时会捉襟见肘。
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要多做很多工作,有些工作是很消耗资源的,比如管理内存。
的运行速度几乎是最慢的,不但远远慢于C/C++,还慢于Java。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花1ms执行程序,和花20ms执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要ms甚至ms。
2)代码加密困难
不像编译型语言那样,源代码会被编译成可执行程序(这个编译过程就相当于对源码加密),对于Python来说是直接运行源代码,因此对源码加密是比较困难的。
————————————————
版权声明:本文为CSDN博主「阿玥的小东东」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: