01.【入门必备】认识python-->Linux中python环境搭建-->Linux交互模式ipython

个人简介
作者简介:大家好,我是小鹏linux,运维领域新星创作者。
个人主页:小鹏linux
支持我:点赞+收藏⭐️+留言
格言:你未必出类拔萃,但一定与众不同!
系列专栏:
                阶段一:windows基础                        目前原创16篇
                阶段二:Linux基础知识                      目前原创38篇
                阶段三:shell基础+shell高级              目前原创23篇
                阶段四:python基础及自动化应用      目前原创1篇
                阶段五:Linux网络服务                       原创未开始
                阶段六:集群原理及架构                     原创未开始
                阶段七:云计算虚拟化技术                 原创未开始

目录

1.认识python

2.应用场景

2.1Web应用开发

2.2自动化运维

2.3科学计算

2.4桌面软件

2.5服务器软件

2.6游戏

2.7产品早期原型和迭代

2.8人工智能

2.9数据分析

3.Linux中python环境搭建

3.1python2

3.2python3

3.3python3安装过程

4.python程序

4.1Python执行过程解析

4.2Python解释器。

4.3使用交互模式写Python程序

4.4在文件的头部配置Python解释器

5.Linux交互模式IPython

5.1Ipython简介

5.2开启Python3交互模式(必须联网)

1.认识python

python之父——吉多·范罗苏姆

1989年,为了打发无聊的圣诞节假期,Guido开始用C语言写Python语言的编译器Python的意思是蟒蛇,源于作者喜欢的一部电视剧

1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件从一出生,Python已经具有了 :类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。Python语法很多来自C,但又受到ABC语言的强烈影响

Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)

Python目前有两个版本,Python2.x和Python3.x,最新版分别为2.7.14和3.6.3

2.应用场景

2.1Web应用开发

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python 定义了WSGI (是Python 应用程序或框架和Web服 服务器之间的一种接口)标准应用接口来协调Http 服务器与基于Python 的Web 程序之间的通信

2.2自动化运维

在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及ubuntu、CentOS、NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red HatLinux的Anaconda安装器。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它Windows API。Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。

2.3科学计算

NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。

2.4桌面软件

PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器

2.5服务器软件

Python对于各种网络协议的支持很完善,因此经常被用于编写 服务器软件、网络爬虫。第三方库Twisted[ˈtwɪstɪd] 支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

2.6游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型

2.7产品早期原型和迭代

饿了么、小米、瓜子、Ucloud、360、腾讯、阿里巴巴、陌陌、美团和知乎 , YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。

2.8人工智能

pyDatalog:Python中的逻辑编程引擎

SimpleAI:Python实现在“人工智能:一种现代的方法”这本书中描述过的人工智能的算法。它专注于提供一个易于使用,有良好文档和测试的库。

EasyAI:一个双人AI游戏的python引擎(负极大值,置换表、游戏解决)

2.9数据分析

1、python下的数据分析模块

pandas: :主要用于数据分析,数据 预处理以及基本的作图,这个包不涉及复杂的模型。

2、python的数据可视化

最常用的matplotlib,用于科学制图——基础的绘图,已经集成在pandas里。

3、Python的爬虫

Scrapy :Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。

3.Linux中python环境搭建

3.1python2

在大多数Linux系统上都已经有集成好了Python开发环境,不需要安装就可以执行Python代码了

验证Python2环境是否搭建好Ctrl + Alt + t 打开终端输入命令:python

退出Python2环境命令:exit()或者Ctrl+d

3.2python3

验证Python3环境是否搭建好Ctrl + Alt + t 打开终端输入命令:python

3.3python3安装过程

前期准备工作:安装依赖:

[root@localhost ~]# yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel

上传压缩包并解压安装:

[root@localhost ~]# rz        #上传Python-3.7.6.tgz压缩包

[root@localhost ~]# mkdir /opt/app/

[root@localhost ~]# tar -zxf Python-3.7.6.tgz -C /opt/app/    #解压缩到指定位置

[root@localhost ~]# ./configure        #执行configure文件

[root@localhost ~]# make && make install	#编译安装

[root@localhost ~]# ln -s /opt/app/Python-3.7.6/python /usr/bin/python3    #设置软连接

4.python程序

4.1Python执行过程解析

一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。 由于你只需要把你的Python 程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python 程序更加易于移植

4.2Python解释器。

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种

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

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的字节码。

小结:Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

4.3使用交互模式写Python程序

第一种通过终端输入python或python3进入终端交互模式

第二种通过编辑器,如vim编写Python程序

4.4在文件的头部配置Python解释器

在代码第一行写入执行时的Python解释器路径,编辑完后需要对此Python文件添加'x'权限

编辑完成后正常情况下,我们会给.py文件添加可执行权限:

01.【入门必备】认识python-->Linux中python环境搭建-->Linux交互模式ipython_第1张图片

 

5.Linux交互模式IPython

5.1Ipython简介

IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持bash shell 命令,内置了许多很有用的功能和函数。

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

5.2开启Python3交互模式(必须联网)

更新pip版本命令:pip3 install --upgrade pip

安装命令:pip3 install ipython  (需要切换到root用户进行安装)

总结:ipython3的好处是可以命令自动补全,还可以执行Linux部分命令,以后测试一些小案例用交互模式要多一些。

你可能感兴趣的