《python 小白入门系列教程》 专栏 • 第 02 篇
文 | 曾庆林
深度好文:3588 字 | 7 分钟浏览
1. Python 的出世
1989 年 Guido van Rossum 开始编写 Python 语言编辑器(龟叔为了打发无聊的圣诞节)
1991 年 第一个 Python 编译器诞生(正式诞生)
1994 年 Python1.0 减少内置函数
2004 年 Python204 web 框架、Django
2008 年 Python2.6 Python3.0(同一年出 2 个版本)
Python2:源码不规范、凌乱、反复代码太多吧
Python3:规范、对立、去重
2. Python 优缺点
Python 语言特点:柔美、简略、清晰。
编译型 | 解释型 |
一次性将所有程序编译成二进制文件 | 进制文件 当程序执行时,一行一行的解释 |
开发效率低,不能跨平台 | 开发效率高,能够跨平台 |
运行速度快 | 运行速度慢 |
C,C++ 等等 | python ,php 等等 |
长处
简略————Python 是一种代表简略主义思维的语言。Python 的这种伪代码实质是它最大的长处之一。它使你可能专一于解决问题而不是去搞明确语言自身。
易学————就如同你行将看到的一样,Python 极其容易上手,Python 有极其简略的语法。
收费、开源————Python 是 FLOSS(自在 / 开放源码软件)之一。简略地说,你能够自在地公布这个软件的拷贝、浏览它的源代码、对它做改变、把它的一部分用于新的自由软件中。
高层语言————当你用 Python 语言编写程序的时候,你无需思考诸如如何治理你的程序应用的内存一类的底层细节。
可移植性————因为它的开源实质,Python 曾经被移植在许多平台上(通过改变使它可能工作在不同平台上)。
解释型————一个用编译性语言比方 C 或 C ++ 写的程序能够从源文件(即 C 或 C ++ 语言)转换到一个你的计算机应用的语言(二进制代码,即 0 和 1)。
这个过程通过编译器和不同的标记、选项实现。当你运行你的程序的时候,连贯 / 转载器软件把你的程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不须要编译成二进制代码。你能够间接从源代码运行程序。
在计算机外部,Python 解释器把源代码转换成称为字节码的两头模式,而后再把它翻译成计算机应用的机器语言并运行。事实上,因为你不再须要放心如何编译程序,如何确保连贯转载正确的库等等,所有这所有使得应用 Python 更加简略。因为你只须要把你的 Python 程序拷贝到另外一台计算机上,它就能够工作了,这也使得你的 Python 程序更加易于移植。
面向对象 ————Python 既反对面向过程的编程也反对面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和性能组合而成的对象构建起来的。 与其余次要的语言如 C ++ 和 Java 相比,Python 以一种十分弱小又简略的形式实现面向对象编程。
可扩展性————如果你须要你的一段要害代码运行得更快或者心愿某些算法不公开,你能够把你的局部程序用 C 或 C ++ 编写,而后在你的 Python 程序中应用它们。
丰盛的库————Python 规范库的确很宏大。它能够帮忙你解决各种工作,包含正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、明码零碎、GUI(图形用户界面)、Tk 和其余与零碎无关的操作。记住,只有装置了 Python,所有这些性能都是可用的。这被称作 Python 的“功能齐全”理念。除了规范库以外,还有许多其余高质量的库,如 wxPython、Twisted 和 Python 图像库等等。
标准的代码————Python 采纳强制缩进的形式使得代码具备极佳的可读性。
毛病
运行速度,有速度要求的话,最好用 C ++ 改写要害局部。
代码不能加密。
国内市场较小(国内以 python 来做次要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模应用。
中文材料匮乏(好的 python 中文材料比比皆是),托社区的福,有几本优良的教材曾经被翻译了,但入门级教材多,高级内容还是只能看英语版。
构架抉择太多(没有像 C# 这样的官网.net 构架,也没有像 ruby 因为历史较短,构架开发的绝对集中。Ruby on Rails 构架开发中小型 web 程序天下无敌)。不过这也从另一个侧面阐明,python 比拟优良,吸引的人才多,我的项目也多。
3.Python 的利用
(1)零碎编程
提供 API(ApplicationProgrammingInterface 应用程序编程接口),能不便进行系统维护和治理,Linux 下标志性语言之一,是很多系统管理员现实的编程工具。
(2)图形处理
有 PIL、Tkinter 等图形库反对,能不便进行图形处理。
(3)数学解决
NumPy 扩大提供大量与许多规范数学库的接口。
(4)文本处理
python 提供的 re 模块能反对正则表达式,还提供 SGML,XML 剖析模块,许多程序员利用 python 进行 XML 程序的开发。
(5)数据库编程
程序员可通过遵循 PythonDB-API(数据库应用程序编程接口)标准的模块与 MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite 等数据库通信。python 自带有一个 Gadfly 模块,提供了一个残缺的 SQL 环境。
(6)网络编程
提供丰盛的模块反对 sockets 编程,能不便疾速地开发分布式应用程序。很多大规模软件开发打算例如 Zope,Mnet 及 BitTorrent.Google 都在宽泛地应用它。
(7)Web 编程
利用的开发语言,反对最新的 XML 技术。
(8)多媒体利用
Python 的 PyOpenGL 模块封装了“OpenGL 应用程序编程接口”,能进行二维和三维图像处理。PyGame 模块可用于编写游戏软件。
(9)pymo 引擎
PYMO 全称为 pythonmemoriesoff,是一款运行于 SymbianS60V3,Symbian3,S60V5,Symbian3,Android 零碎上的 AVG 游戏引擎。因其基于 python2.0 平台开发,并且实用于创立秋之回顾(memoriesoff)格调的 AVG 游戏,故命名为 PYMO。
(10)黑客编程
python 有一个 hack 的库,内置了你相熟的或不相熟的函数,然而短少成就感。
4. 利用场景
(1)Web 利用开发
Python 常常被用于 Web 开发。比方,通过 mod_wsgi 模块,Apache 能够运行用 Python 编写的 Web 程序。Python 定义了 WSGI 规范利用接口来协调 Http 服务器与基于 Python 的 Web 程序之间的通信。一些 Web 框架 , 如 Django,TurboGears,web2py,Zope 等,能够让程序员轻松地开发和治理简单的 Web 程序。
(2)操作系统治理、服务器运维的自动化脚本
在很多操作系统里,Python 是规范的零碎组件。大多数 Linux 发行版以及 NetBSD、OpenBSD 和 Mac OS X 都集成了 Python,能够在终端下间接运行 Python。有一些 Linux 发行版的装置器应用 Python 语言编写,比方 Ubuntu 的 Ubiquity 装置器,Red Hat Linux 和 Fedora 的 Anaconda 装置器。
Gentoo Linux 应用 Python 来编写它的 Portage 包管理系统。Python 规范库蕴含了多个调用操作系统性能的库。通过 pywin32 这个第三方软件 包,Python 可能拜访 Windows 的 COM 服务及其它 Windows API。应用 IronPython,Python 程序可能间接调用.Net Framework。
一般说来,Python 编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于一般的 shell 脚本。
(3)科学计算
NumPy,SciPy,Matplotlib 能够让 Python 程序员编写科学计算程序。
(4)桌面软件
PyQt、PySide、wxPython、PyGTK 是 Python 疾速开发桌面应用程序的利器。
(5)服务器软件(网络软件)
Python 对于各种网络协议的反对很欠缺,因而常常被用于编写服务器软件、网络爬虫。第三方库 Twisted 反对异步网络编程和少数规范的网络协议(蕴含客户端和服务器),并且提供了多种工具,被宽泛用于编写高性能的服务器软件。
(6)游戏
很多游戏应用 C ++ 编写图形显示等高性能模块,而应用 Python 或者 Lua 编写游戏的逻辑、服务器。相较于 Python,Lua 的性能更简略、体积更小;而 Python 则反对更多的个性和数据类型。
(7)构思实现,产品晚期原型和迭代
YouTube、Google、Yahoo!、NASA 都在外部大量地应用 Python。
5. 利用方向
(1)惯例软件开发
Python 反对函数式编程和 OOP 面向对象编程,可能承当任何品种软件的开发工作,因而惯例的软件开发、脚本编写、网络编程等都属于标配能力。
(2)科学计算
随着 NumPy,SciPy,Matplotlib,Enthoughtlibrarys 等泛滥程序库的开发,Python 越来越适宜于做科学计算、绘制高质量的 2D 和 3D 图像。
和科学计算畛域最风行的商业软件 Matlab 相比,Python 是一门通用的程序设计语言,比 Matlab 所采纳的脚本语言的利用范畴更宽泛,有更多的程序库的反对。尽管 Matlab 中的许多高级性能和 toolbox 目前还是无奈代替的,不过在日常的科研开发之中依然有很多的工作是能够用 Python 代劳的。
(3)自动化运维
这简直是 Python 利用的自留地,作为运维工程师首选的编程语言,Python 在自动化运维方面曾经深入人心,比方 Saltstack 和 Ansible 都是赫赫有名的自动化平台。
(4)云计算
开源云计算解决方案 OpenStack 就是基于 Python 开发的,搞云计算的同学都懂的。
(5)WEB 开发
基于 Python 的 Web 开发框架不要太多,比方耳熟能详的 Django,还有 Tornado,Flask。其中的 Python+Django 架构,利用范畴十分广,开发速度十分快,学习门槛也很低,可能帮忙你疾速的搭建起可用的 WEB 服务。
(6)网络爬虫
也称网络蜘蛛,是大数据行业获取数据的外围工具。没有网络爬虫主动地、不分昼夜地、高智能地在互联网上爬取收费的数据,那些大数据相干的公司恐怕要少四分之三。可能编写网络爬虫的编程语言有不少,但 Python 相对是其中的支流之一,其 Scripy 爬虫框架利用十分宽泛。
(7)数据分析
在大量数据的根底上,联合科学计算、机器学习等技术,对数据进行荡涤、去重、规格化和针对性的剖析是大数据行业的基石。Python 是数据分析的支流语言之一。
(8)人工智能
Python 在人工智能大领域畛域内的机器学习、神经网络、深度学习等方面都是支流的编程语言,失去宽泛的反对和利用。
6. 常识
Python 的作者,Guido von Rossum,荷兰人。
Python 的发音与拼写
Python 的意思是蟒蛇,源于作者喜爱的一部电视剧 (C 呢?)
Python 的作者是 Guido van Rossum(龟叔)
Python 是龟叔在 1989 年圣诞节期间,为了打发无聊的圣诞节而用 C 编写的一个编程语言
Python 正式诞生于 1991 年
Python 的解释器现在有多个语言实现,咱们罕用的是 CPython(官网版本的 C 语言实现),其余还有 Jython(能够运行在 Java 平台)、IronPython(能够运行在.NET 和 Mono 平台)、PyPy(Python 实现的,反对 JIT 即时编译)
Python 目前有两个版本,Python2 和 Python3
Life is shot, you need Python. 人生苦短,我用 Python。
手机练习地址:
https://www.520mg.com/it
IT 入门感激关注
</div>