赵走x博客
网站访问量:151559
首页
书籍
软件
工具
古诗词
搜索
登录
5、pip高级用法
4、Python 内置小工具:检查第三方库是否正确安装
3、Python 内置小工具:字符串转换为JSON
2、Python 内置小工具:1 秒钟启动一个下载服务器
1、Python 语言介绍
1、Python 语言介绍
资源编号:75961
书籍
Python Linux系统管理与自动化运维
热度:117
本书是一本实战类的进阶书籍,因此,相信读者在打开这本书前,已经知道了Python是什么,也知道了Python 的优缺点,并且认为Python 是一门值得花时间学习的编程语言。
本书是一本实战类的进阶书籍,因此,相信读者在打开这本书前,已经知道了Python是什么,也知道了Python 的优缺点,并且认为Python 是一门值得花时间学习的编程语言。 如果读者对Python 的特性还不是特别熟悉,没有关系,本章将介绍Python 语言的特性和应用场景。除此之外,本章还会讨论为什么Python 适合Linux 系统管理,以及一些大家容易忽视的重要数据,包括Python 语言是否真的越来越流行,使用最多的Python 版本,以及Python 2 与Python 3 所占的市场份额等。 # 1.1 Python 语言有多流行 很多工程师在学习一门新的技术时,都会担心自己所学的技术是否会越来越流行,担心学习了一门非常小众或冷门的技术。这种担忧是可以理解的,毕竟,一门技术使用的人越多,对于早期学习这门技术的工程师来说,就有越多好处和优势。如果学习了冷门的技术,不但容易英雄无用武之地,而且,在求职市场上也没有什么优势。 我认识的不少学习Python 的工程师也有类似的担忧,他们问的最多的问题是, Python是不是越来越流行了?答案是肯定的。Python 语言越来越流行,而且现在非常热门。因此,大家可以放心大胆地学习Python,利用Python 语言的优秀特性来提高自己的工作效率,提升自己的职场竞争力。 # 1.2 Python 语言为什么流行 在上一节中,我们得出了Python 语言越来越流行的结论。那么,我们不禁要问,为什么Python 语言会越来越流行呢? 语言流行的因素有很多, 我们可以找到很多理由。例如,越来越多的工程师使用Pyhon 进行大数据处理,科研工作者开始使用python 进行数据分析,系统管理员使用Python 管理Linux 系统,开源的云计算平台OpenStack 使用python 语言开发,很多编程爱好者使用Python 进行爬虫等。如果要找类似的理由,我们还可以找出很大一堆,但是,笔者认为, Python 语言之所以越来越流行,使用越来越广泛,主要还是得益于其自身的诸多优点。 Python 语言拥有诸多优点,其中有几个优点特别显著: * 1 ) 简单易学: Python 语言相对于其他编程语言来说,更加容易学习。它注重的是如何解决问题而不是编程语言的语法和结构。因此,已经有越来越多的初学者选择Python 语言作为编程的入门语言。例如,在浙江省2 017 年高中信息技术改革中,《算法与程序设计》课程将使用Python 语言替换原有的VB 语言。 * 2 ) 语法优美: Python 语言力求代码简洁、优美3 在Python 语言中,采用缩进标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python 程序就像是在读英语,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。 * 3 ) 丰富强大的库: Python 语言号称自带电池( Battery Included),寓意是Python 语言的类库非常全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果某个功能比较特殊,标准库没有提供相应的支持,那么,很大概率会有相应的开源项目提供了类似的功能。合理使用Python 的类库和开源项目,能够快速实现功能, 满足业务需求。 * 4 ) 开发效率高: Python 的各个优点是相辅相成的。例如,因为有了丰富强大的类库,所以, Python 的开发效率能够显著提高。相对于C 、C++和Java 等编译语言, Python 的开发效率提高了数倍。在实现相同的功能时, Python 的代码往往只有C 、C++和Java 代码的1/5 ~ 1/3 。虽然Python 语言拥有很多吸引人的特性,但各大互联网公司广泛使用Python语言,绝大程度上是因为Python 语言开发效率高这个特点。因为它能够更好地满足互联网快速迭代的需求。 * 5 ) 应用领域广泛: Python 语言的另一大优点就是应用领域广泛,工程师可以使用Python做很多事情。例如, Web 开发、网络编程、自动化运维、Linux 系统管理、数据分析、科学计算、人工智能、机器学习等。由于Python 语言介于脚本语言和系统语言之间,所以我们可以 根据需要将它当作一门脚本语言来编写脚本,也可以将它当作一个系统语言来编写服务。 # 1.3 Python 语言有什么缺点 毫无疑问, Python 有很多优点,并且每一个优点看起来都非常吸引人,这也是Python流行的主要原因。但是, Python 并不是没有缺点的,最主要的缺点有以下几个: * 1 ) Python 的执行速度不够快: P ython 的缺点主要是执行速度还不够快。当然, 这并不是一个很严重的问题,一般情况下,我们不会拿Python 语言与CIC++ 这样的语言进行直接比较。在Python 语言的执行速度上, 一方面,网络或磁盘的延迟会抵消部分Python 本身消耗的时间;另一方面,因为Pyth on 特别容易和C 结合使用,所以我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python 脚本将这部分应用连接起来,以提高程序的整体效率。 * 2) Python 的GIL 锁限制并发: Python 的另一个大问题是,对多处理器支持不好。如果你接触Python 的时间比较长,那就一定昕说过GIL 。GIL 是指Python 全局解释器锁( GlobalInterpreter Lock ),当Python 的默认解释器要执行字节码时,都需要先申请这个锁。这意味着, 如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发, 也可以选择不同的Python 实现来运行我们的程序。 * 3 ) Python 2 与Python 3 不兼容: 如果一个普通的软件或者库不能够做到向后兼容,它一定会被用户无情地抛弃。在Python 中, 一个大的槽点就是Python 2 与Python 3 不兼容。这给所有Python 工程师带来了无数烦恼。关于Python 2 与Python 3 的问题,我们将在1. 6 节详细介绍。 # 1.4 Python 语言的应用场景 作为一种通用编程语言, Python 的应用场景几乎是无限的。我们可以在任何场景使用。 有以下几个主要的应用场景: ### 1. Web 开发 Python 语言能够满足快速迭代的需求,非常适合互联网公司的Web 开发应用场景。Python 用作Web 开发已有十多年的历史,在这个过程中,涌现出了很多优秀的Web 开发框架,如Django 、Pyramid 、Bottle 、Tornado 、Flask 和web2py 。许多知名网站都是使用Python 语言开发,如豆瓣、知乎、Insta gram 、Pint巳rest 、Dropbox 等。这一方面说明了Python 作为Web 开发的受欢迎程度,另一方面也说明Python 语言用作Web 开发经受住了大规模用户并发访问的考验。 ### 2. 用户图形接口( GUI) 我们可以使用Python 标准库的tklnter 模块进行GUI 编程,也可以使用PyGObject 、Py Qt 、PySide 、Kivy 、wxPython 等编写GUI 应用程序。使用Python 程序可以轻松地开发出一个可移植的应用程序。例如, TKinter GUI 可以不做任何改变就能运行在Windows 、XWindows 和 Mac OS 等平台上。 ### 3. 数值计算和科学计算 Python 语言已经逐渐取代MATLAB 成为科研人员最喜爱的数值计算和科学计算的编程语言。Python 标准库虽然没有提供数值计算和科学计算的功能,但是, Python 生态中有Sci Py 、NumPy 和Pandas 等非常好用的开源项目。 ### 4. 系统管理 Python 简单易用、语法优美,特别适合系统管理的应用场景。著名的开源云计算平台Open Stack 就是使用Python 语言开发的。除此之外, Python 生态中还有Ansible 、Salt 等自动化部署工具。这么多使用广泛、功能强大的系统管理工具都使用Python 语言开发,也反映了Python 语言非常适合系统管理的事实。 ### 5. 真他 Python 的应用领域非常广泛,远比我们这里列出的要多得多,例如,可以使用pygame开发游戏,使用PIL 库处理图片,使用NLTK 包进行自然语言分析等。 # 1.5 为什么Python 适合Linux 系统管理 Python 语言应用领域非常广泛,其中一个比较重要的应用领域是Linux 系统管理。得益于Python 的诸多优点,可以说, Python 是Linux 系统管理的理想工具。使用Python 来管理Linux 系统,具有如下优势: * 1) Python 语言相对于Shell 脚本咱代码更加清晰易懂。无论是运维工程师还是开发工程师, Shell 都是基本功。Shell 脚本虽然功能强大,可以使用很少的代码完成常见的任务,但是它的语法复杂,可读性和可维护性差。当程序越来越强大,功能越来越复杂时,如 果还使用Shell 脚本,将会导致整个程序难以维护。Python 语言则不存在这个问题,因为Python 程序语法清晰、简单易懂。 * 2) Python 语言表达能力强。Python 语言相对于S hell 脚本,更具有表现力,更易于扩展。例如, Python 提供了丰富的数据结构,如列表、元组、字典、队列等; Python 语言也可以方便地进行多线程编程。这些都是Shell 脚本不具有的能力。 * 3) Python 语言可跨平台。Python 标准库对操作系统的接口进行了封装,例如, Python标准库绑定了PO SIX 以及其他常规操作工具,如环境变量、文件、套接字、管道、进程、多线程、正则表达式、命令行参数、Shell 命令启动器、文件名扩展等。Python 对操作系统的接口封装以后,我们一方面使我们可以使用Python 语言方便地管理Linux 系统;另一方面,使Python 程序相对于Shell 脚本,具有了跨平台的优势。例如,一个在Debian 上运行的复制目录树的脚本无须做任何修改就可以在其他操作系统中运行。 * 4) Python 语言可以方便地与操作系统集成。使用Python 管理Linux ,不但可以使用Python 标准库对操作系统的封装,也可以方便地在Python 中执行Linux 命令,进一步将Python 管理Linux 系统的能力放大, 从而可以使用Python 完成任何管理任务。 * 5 )许多开源的项目对Linux 系统管理提供了支持。例如,我们可以使用psutil 轻松编写一个监控程序,也可以使用!Py 管理IP 地址。 * 6 )有不少使用Python 开发的自动化管理工具。很多知名的自动化管理工具都是使用Python 语言开发,如Fabric 、Ansible 、SaltStack 等,这也正说明了Python 是一门适合Linux 系统管理的语言。 * 7) Linux 系统管理是发挥Python 优点,避免Python 缺点的应用场景。Python 语言有自己的优点与缺点,使用Python 进行Linux 系统管理,是一个充分发挥Python 优点,避免Python 缺点的领域。我们能够利用Python 语言开发效率高的优势,尽快完成程序的编写工作,而且, Linux 系统管理不要求程序的执行速度特别快。 # 1.6 使用Python 2 还是Python 3 请选Python3