Python从入门到大师(01)

Python前世
1989年圣诞节前夕,山雨欲来风满楼,计算机程序设计语言界隐隐有大事要发生,果然不出所料。江湖人称龟叔(Guido von Rossum),就是这位祖籍荷兰的大牛,在圣诞节百无聊赖的期间,发明了Python。
在这里插入图片描述
之所以选中Python作为程序的名字,是因为龟叔是BBC电视剧——蒙提·派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。ABC是由参加设计的一种教学语言。就龟叔本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。
1991年初,Python发布了第一个公开发行版。

2000年10月16日,Python 2.0版本发布,增加了实现完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社群对开发进度的影响逐渐扩大。

2008年12月3日,Python 3.0版本发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6,2.7版本

python特性

(1)简单易学:Python极其容易上手,因为Python有极其简单的说明文档。

(2)免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

(3)高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

(4)可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台 上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、 BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。

(5)丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)

上面介绍了Python的优点,其实python的也有缺点

(1)运行较慢:相较于c, c++ ,Java编译型语言,python、javascript解释型语言不是编译成机器码,而是编译成中间码。Python在解释器而不是编译器的帮助下执行,这将导致它变慢,因为编译和执行有助于它正常工作。

因为Python在定义变量或函数时不会声明类型,即使在编译为pyc字节码后变量的类型以及函数返回类型都是未知的,通过上下文推算出实际的类型,是需要占用内存消耗的。比如a + b 先要通过复杂的上下文推荐得出a和b的实际类型,进而再转换为对应的机器指令,不像其他强类型语言,比如java,所有数据类型在编译为class文件时都已经确定了,不需要额外耗时去做类型推算。

(2)性能差:Python的开箱即用的性能速度依然落后于其他语言,比如说具有同样简单语法的Nim和Julia,却可以被编译为机器代码,具有更高的性能优势。

比如,著名的知乎推荐系统用Go替代Python,随着业务发展,发现 Python 作为动态解释型语言,较低的运行效率和较高的后期维护成本带来的问题逐渐暴露出来:

运行效率较低。知乎目前机房机柜空间已经不足,按照目前的用户和流量增长速度,可预见将在短期内服务器资源告急(针对这一点,知乎正在由单机房架构升级为异地多活架构);
Python 过于灵活的语言特性,导致多人协作和项目维护成本较高
毕竟Python是通用型,高级的动态编程语言。强调的是 code readability,它的句法使得程序员能够比在C++或者java的静态编程语言相比,编写更少的代码行数。

Python职业发展方向

(1)网络爬虫

Python较为常用的情况就是网络爬虫,最早使用Python进行网络爬虫的是Google,而Python也因此被带动发展起来。

Python在这个方面有许多工具上的积累,例如,用于模拟HTTP请求的Requests、用于HTML DOM解析的PyQuery/BeautifulSoup、用于自动化分布式爬取任务的Scrapy,都使得Python成为数据爬取的首选语言之一。Python同时特别擅于分析与计算爬取后的数据。

(2)Linux运维

用python实现的测试工具及过程,包含服务器端、客户端、web、andriod、client端的自动化测试,自动化性能测试的执行、监控和分析,常用selenium appium等框架。

(3)Python Web网站工程师

我们都知道Web一直都是不可忽视的存在,我们离不开网络,离不开Web,利用Python的框架,Django,flask可以做网站,而且都是一些精美的前端界面,还有我们需要掌握一些数据的应用。

(4)Python自动化测试

大家都知道,就是Python语言对测试的帮助是非常大的,自动化测试中Python语言的用途很广,可以说Python太强大,掌握和熟悉自动化的流程,方法和我们总使用的各个模板,到现在为止,我了解的Python使用最多的应该是自动化测试。

(5)数据分析

我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率。

(6)人工智能

人工智能是现在大火的一个方向,这让Python语言的未来充满了无限的潜力。机器学习,特别是当前热门的深度学习中的大部分工具框架都提供了Python接口,因为Python的简洁清晰的语法是深受开发者喜爱的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值