欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

#1 初识Python

程序员文章站 2022-05-17 14:50:59
前言 要说现在最时髦的编程语言是什么,那么一定是Python无疑了。让我们来一起来领略其风采吧! 一、Python介绍 Python的创始人为吉多·范罗苏姆(Guido van Rossum),被大家称为“龟叔”,他在1989年圣诞节期间,为了在阿姆斯特丹打发时间,决定编写一门新的编程语言,作为AB ......

前言

要说现在最时髦的编程语言是什么,那么一定是python无疑了。让我们来一起来领略其风采吧!

一、python介绍

python的创始人为吉多·范罗苏姆(guido van rossum),被大家称为“龟叔”,他在1989年圣诞节期间,为了在阿姆斯特丹打发时间,决定编写一门新的编程语言,作为abc语言的继承。(看看人家,再看看自己,哎,不说了,心痛)

如果你听说过tiobe排行榜,那么你就能得到编程语言的大致流行程度,根据最新的tiobe排行榜,python赶超c++占据第三,仅次于java和c,可见python的流行程度。

#1   初识Python

二、python擅长领域

 python可应用于众多领域,最为擅长的有web应用开发自动化运维网络爬虫数据分析科学计算人工智能,同时python是一门胶水语言

web应用开发:

在大数据、人工智能为人所熟知之前,python就已经在web开发领域被广泛应用,产生了flask、django、tornado等web开发框架,众多大型网站均为python开发:

  • youtube

  • quora

  • reddit

  • instagram

  • facebook

  • dropbox

  • google

  • nasa

  • bt

  • 豆瓣

  • 知乎

当然python不仅应用于网站,很多app和游戏的服务器也同样使用python实现

自动化运维:

在自动化运维领域,python是必须要掌握的技能,因其灵活的功能和丰富的类库使其成为运维工程师的首选语言。linux系统内置python,就足以见其在运维领域的地位。

网络爬虫:

网络爬虫可能是萌新学习python时最感兴趣的,爬虫可以将网站上的任何内容爬取下来,供自己分析使用。对于数据公司来说,爬虫和反爬虫技术都是其赖以生存的重要保障,尽管很多语言都可以写爬虫,但python绝对是首选,其灵活的爬取能力和丰富的类库,使得爬虫工程师工作起来的心应手。世界上最大的爬虫公司莫属google了,google一直在力推python,就连python创始人“龟叔”也在google工作七年,可见python的爬虫能力有多强。

数据分析:

使用爬虫爬取海量数据之后,就要对数据进行清洗、展示、分析、存储,这方面python做的也是很棒的,拥有极其丰富的类库可供使用,让数据分析事半功倍。

科学计算:

要说科学计算,大家第一想到的恐怕就是matlab了,的确,matlab在科学计算领域有着不可取代的地位,但是python的出现,可能要取代matlab成为科学计算的领头羊。python在科学计算方面拥有极为丰富的类库,这些类库在数学、物理、生物、地理、化学、建筑、武器等领域发挥着重要作用。nasa也早已把python作为主要的开发语言,可见python在科学计算领域的优势与i前途。

人工智能:

要说现在最火的方向是什么,绝对是ai没错了,ai最重要的无非不过机器学习、神经网络、深度学习等方面,而python在数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,现在python无疑已成为ai领域的必修语言。

胶水语言:

对于python萌新来说,最担心的可能就是python会不会和我之前学过的语言有冲突,这一点无需担心。python简洁、灵活、通用,几乎可以和任何语言、设备、平台、场景连接,因此被称为胶水语言。

除了上面提到的领域以外,python在其它领域也发挥着不可磨灭的作用,金融离不开python、游戏离不开python、桌面应用离不开python,总之一句话概括就是:

人生苦短,我用python

三、python缺点

python有着上面众多优点,并且每一个优点看起来都是那么的诱人,这也是python流行的主要原因。但是任何一门编程语言都有缺点,python也不例外,python的缺点主要有以下几个:

  • python的运行速度慢:这是python的主要缺点,和c相比非常慢,因为python是解释型语言,代码在执行时会一行一行的翻译成机器码,这个过程非常耗时。但这并不是一个很严重的问题,一般情况下,我们不会那python和c/c++去比较,因为用户根本感觉不到这个时间,执行一个c/c++程序可能需要2.001秒,执行一个同样的python程序需要2.1秒,用户能感觉到2.001秒和2.1秒的区别吗?显然不能。如果python的运行速度确实影响到了你,那么你可以将python和c结合使用,将占用运行速度的那一块代码用c编写,以提高整体效率。

  • pythongil锁限制并发:python的另一个大问题就是对多处理器支持不太好。gil(global interpreter lock)指全局解释器锁,当python的默认解释器要执行时,都需要先去申请这个锁,这意味着试图通多多线程扩展应用程序时,总是被这个锁限制。如果用户需要多并发,可以使用多进程的架构来实现,也可以选择不同的python来实现多并发。

  • python版本不兼容:几乎所有的软件更新迭代时,总会向后兼容,比如word2016可以打开word2013的文件,如果不能做到向后兼容的话,很大概率会被用户无情的抛弃。但是在python中,一个很大的吐槽点就是python3和python2不能互相兼容,大量的python工程师都为此头疼。萌新肯定有这样的疑问,学习python2还是python3,这里我的建议是学习python3,python2已经宣布只会维护到2020年,而且大量的类库已经不支持python2了,同时官方建议学习python3.