Python全栈学习笔记 :《python介绍》

一、前言

本章系列教程将给大家全面讲解python全栈学习。涉及的内容很多,基础是python编程语言的学习,是高级语言的一种,这里不想太多的说关于高级语言、机器语言、汇编等等神马区别。稍微说一点:

机器语言:  优点是最底层,执行速度最快 。 缺点是最复杂,开发效率最低 。

汇编语言:  优点是比较底层,执行速度最快 。 缺点是复杂,开发效率最低。

高级语言 : 编译型语言执行速度快,不依赖语言环境运行,跨平台差。

                           : 如C,执行速度快,调试麻烦

                    解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行。

                            : 如python,执行速度慢,调试方便

编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。
编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等

解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。

 

                                      

计算机内部只能是二进制代码,所谓的0和1描述的指令和数据。我们在电脑上操作的看视频、写word文档、玩游戏等等其实全部都是二进制数据。 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。

 

二、python介绍

 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

1. Python主要应用领域

1. WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)

2. 网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单

3. 爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥

4. 云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算

5. 人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。

6. 自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python

7. 金融分析——高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言

8. 科学运算—— 97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛

9. 游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的

2. Python在一些公司的应用

谷歌: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)

春雨医生:国内知名的在线医疗网站是用Python开发的

除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

推荐知乎文章: https://www.zhihu.com/question/22112542/answer/166053516

 

三、 python的种类

分为: JavePython、CPython、pypy、Jython、IronPython

我们现在知道了Python是一门解释型语言,代码想运行,必须通过解释器执行,Python的解释器本身也可以看作是个程序。这个程序是什么语言开发的呢? 答案是好几种语言?因为Python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的Python代码。

CPython:CPython是使用最广且被的Python解释器。本教程以CPython为准。
当我们从Python官方网站下载并安装好Python 2.x 或者 3.x 后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

IPython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy: PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

Jython: Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython: IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码

最快的是pypy,这是用python 写的python,为什么最快,因为编译处理后编译出来的直接就是机器码,运行直接就是机器码运行

其他的种类编译都是要先经过转换为字节码,然后运行的时候字节码交给C处理转为机器码,所以执行效率稍微慢点。

 

四、python 安装

到官网:https://www.python.org/ 下载

windows --> 运行 --> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功。

免费视频(官方):apeland.cn

 

五、python 两种执行方式

1. 脚本执行方式: python解释器 + (路径)文件

2. 交互式方式: python命令进入解释器,实时输入并获取到执行结果

注意: windows上 python + 文件方式,文件名可以任意没有特殊要求,但是导入模块时候不是py后缀会有问题。所以我们最好是定义为 xxx.py 名

Python全栈学习笔记 :《python介绍》_第1张图片

 

六、pycharm 开发工具IDE 

到现在为止,我们也是写过代码的人啦,但你有没有发现,每次写代码要新建文件、写完保存时还要选择存放地点,执行时还要切换到命令行调用python解释器,好麻烦呀,能否一气呵成,让我简单的写代码?此时开发工具IDE上场啦,一个好的IDE能帮你大大提升开发效率。

很多语言都有比较流行的开发工具,比如JAVA 的Eclipse, C#,C++的VisualStudio,

Python的是啥呢? Pycharm,最好的Python 开发IDE

下载地址:https://www.jetbrains.com/pycharm/download 选择Professional 专业版

网上可以下载个 pycharm2019 版本,激活码正常免费试用30天,这里有个方法长久免费使用。

免费方法:

1. 将C:\Windows\System32\drivers\etc里面的hosts文件打开,然后在文件中加入:0.0.0.0 account.jetbrains.com
2. 打开软件,会弹出一个界面,如下图所示。选择第二个(activation code),然后进入http://idea.lanyus.com/,点击获取注册码,将注册码复制到下面的方框里或者在激活页面的license server输入:http://idea.liyang.io/,点击OK。

 

你可能感兴趣的:(Python,Python全栈开发)