前言:作为对于python小白而言,我们需要知道什么是python,为什么学习python而不是其他编程语言,它相比于其他语言有什么优势,同时了解python 的执行操作过程又是怎么样的,它有哪些分类?接下来开始走进python的世界。
一、Python的定义:
什么是python呢?python是著名的‘龟叔Guido van Rossum在1989年圣诞节,为了打发无聊的圣诞节而开发的一门编程语言(脚本解释程序)。
根据20017年12月的Tiobe排行榜--编程语言流行度,Python赶超C#、PHP名列第四。
并且一直以来,Python整体呈上升的趋势,越来越多的人使用Python这门编程语言,逐渐更为广泛的得到行业的认可。
2、python的特点:
那么Python如此迅速的发展,其本身有什么特点呢?
先说说其优点吧:--->’优雅、明确、简单’。
a、极佳的可读性。-->由于Python采用强制缩进的方式使得代码具有极佳的可读性。
b、简单。-->非常适合学习,类似用一定的规则去写英语文章,并且使你可以专注的使用语言去解决问题而不是纠结于语言本身。
c、开源。-->简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
d、可移植性。 -->由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、QNX、VMS、、Windows CE等甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
e、既支持面向过程编程也支持面向对象编程。-->在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。而类似Java、c++等很难实现。
f、丰富的库。-->python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
g、可扩展性和可嵌入性。-->如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你也可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
当然,Python也有其缺点:
1、运行速度相对于其他语言而言较慢。--》由于其运行时要求边编译边执行的过程,故相对于C、Java、PHP等较慢。
2、python的开源性使得Python语言不能加密。--》但是目前国内市场纯粹靠编写软件卖给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。
那么相对于C、Java、PHP其他编程语言,Python的优劣在哪?
C语言:首先我们要知道Python是有C语言实现的。
C语言为编译型语言--》代码编译得到机器码,机器码在CPU上直接执行。故其运行速度快。
Python为编译型还是解释型并不明确,姑且为解释型。---》代码编译得到字节码,再通过虚拟机执行字节码转换成机器码,最后由CPU执行。
与Java、PHP、c#等相比:
PHP类:适用于写网页,其局限性十分明显。
Python和Java:既可以写网页,也可以写后台功能,这两者比较--》前者开发效率高、执行效率较低,或者开发效率较低,执行效率较高。
3、Python的种类:
- Cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 - Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 - IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) - PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。 - RubyPython、Brython ..
4、Python的应用领域:
- 系统编程
Python语言在操作系统的内置接口,被称为Shell工具。Python程序可以搜索文件和目录树、可以运行其他的应有程序或是用进程或线程进行并行处理。Python标准库绑定了POSIX 以及其他常规操作系统工具。所以环境变量、管道、进程、多线程、文件、套接字、python正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、file扩展等。除此之外很多Python 的系统工具设计时都考虑了其可移植性。
- 网络爬虫
由于Python的网络方面的功能非常强大,常用来实现网络爬虫。常用框架有:
grab – 网络爬虫框架(基于pycurl/multicur)。
scrapy – 网络爬虫框架(基于twisted),不支持Python3。
pyspider – 一个强大的爬虫系统。
cola – 一个分布式爬虫框架。
portia – 基于Scrapy的可视化爬虫。
restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。
demiurge – 基于PyQuery的爬虫微框架。
- 人工智能、科学计算
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- WEB开发
Python有众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享学课堂就是使用Django开发的。
- 系统运维
Python已经成为,运维人员必备语言,尤其是在Linux运维方面,基本上是自动化运维。
- 大数据、云计算
Python是大数据、云计算最火的语言, 典型应用OpenStack
- 金融方面
量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很厉害,生产效率远远高于c,c++,java,尤其擅长策略回测。
- 图形界面方面
PyQT, WxPython,TkInter
- 企业和网站的案例方面
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
等等。
4、python的安装
还有便是关于Python的安装方面的知识,
Windows上python的安装--》可参考 https://jingyan.baidu.com/article/574c52197b9fbc6c8c9dc170.html##1
Linux下python3.x的安装可跟根据以下流程进行安装:
1 #下载python3.x的安装包 2 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 3 #准备工作 4 yum install gcc-* glibc-* -y 5 #切换至安装包所在目录,并且解包 6 tar -xvf Python-3.6.5.tgz 7 #切换至解包的目录下,运行configure脚本,添加编译参数 8 ./configure --prefix=/usr/local/python3.6 9 #编译 10 make 11 #安装 12 make install
添加环境变量:
#找到python3.x安装的位置,修改配置文件 vim /etc/profile #将python3.x的安装目录添加至PATH后面 PATH =/usr/local/bin:/usr/bin/.......:/usr/local/python 3.6 export PATH
而关于python2.安装---》Linux下默认安装是为python2.X可直接运行。