一、概述

Python 是一个高层次的结合了解说性、编译性、互动性和面向对象的解说性编程言语。

  • Python 是一种解说型言语: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl言语。

  • Python 是交互式言语: 这意味着,您能够在一个 Python 提示符 >>> 后直接履行代码。

  • Python 是面向对象言语: 这意味着Python支撑面向对象的风格或代码封装在对象的编程技能。

  • Python 是初学者的言语:Python 对初级程序员而言,十分友好,十分简略入门。

Python 介绍和环境准备

二、Python 运用范畴

Python 作为一种功用强大的编程言语,因其简略易学而遭到很多开发者的喜爱。那么,Python 的运用范畴有哪些呢?

Python 有着非广泛的运用,简直所有大中型互联网公司都在运用 Python,例如国外的 Google、Youtube、Dropbox,国内的百度、新浪、搜狐、腾讯、阿里网易、淘宝、知乎、豆瓣、汽车之家、美团等等,Python 帮助它们完成了各式各样的使命。

1) Web运用开发

在 Web 开发范畴,Python 肯定是一颗冉冉升起的新星。虽然 PHP、JS 目前依然是 Web 开发的主流言语,但 Python 上升势头十分猛劲。特别随着 Python 的 Web 开发结构逐步老练(比方 Django、Flask、Tornado、Web2py 等等),程序员能够更轻松地开发、办理杂乱的 Web 程序。

Python 介绍和环境准备

2)主动化运维

  • 所谓主动化运维,实际上便是运用一些开源的主动化东西来办理服务器,比方业界盛行的 Ansible(根据Python开发),它能帮助运维工程师处理重复性的作业。

  • Python 作为一种脚本言语,供给了许多方便与服务器交互的软件包,比方 Python 标准库中包含了多个可用来调用操作体系功用的库。

  • 一般来说,Python 编写的体系办理脚本,无论是可读性,功能、仍是代码重度和扩展性等方面,都要优于 shell 言语编写的脚本。

3)网路爬虫

  • Python 言语很早就用来编写网络爬虫。Google 等搜索引擎公司大量地运用 Python 言语编写网络爬虫。

  • 从技能层面大将,Python 供给有很多服务于编写网络爬虫的东西,例如 urllib、Selenium 和 BeautifulSoup 等,还供给了一个网络爬虫结构 Scrapy。

【温馨提示】爬虫不限于任何言语,只不过python在爬虫范畴更具优势,由于有丰厚的类库和东西函数。

4)人工智能范畴

  • 人工智能是当时十分火的一个研究方向,假如要评选当时最热门、薪酬最高的 IT 职位,那么必定非人工智范畴的工程师莫属,可是要求也是不低的,跟算法紧密关联。

  • 人工智能的中心是机器学习,机器学习的研究可分为传统机器学习和深度学习,它们两者被广泛的运用于图像识别、智能驾驭、智能推荐、自然言语处理等运用方向。

  • 在众多编程言语中 Python 肯定是人工智能的首选言语,这是由于 Python 在机器学习和深度学习方面有着十分出众的优势。能够这么说,人工智能已经无法离开 Python 的支撑,总结原因大致有以下几点:

    1. 目前世界上优异的人工智能学习结构,比方 Google 的 TransorFlow(神经网络结构)、FaceBook 的 PyTorch(神经网络结构)以及开源社区的 Karas 神经网络库等,都是用 Python 完成的;
    2. 微软的 CNTK(认知东西包)也彻底支撑 Python,并且该公司开发的 VS Code,也已经把 Python 作为第一级言语进行支撑;
    3. Python 擅长进行科学核算和数据分析,支撑各种数学运算,能够绘制出更高质量的 2D 和 3D 图像。

5)科学核算

自 1997 年,NASA 就大量运用 Python 进行各种杂乱的科学运算。并且,和其它解说型言语(如 Shell、JS、PHP)比较,Python 在数据分析、可视化方面有相当完善和优异的库,例如 NumPy、SciPy、Matplotlib、pandas 等,这能够满意 Python 程序员编写科学核算程序的需求。

三、Python 环境预备

下载地址:www.python.org/downloads/

1)Linux 渠道装置 Python

linux环境的话,装置python就十分简略了,一般centos7自带了python2,而centos8自带了python3,就算没有自带,装置也是十分简略,装置指令如下:

# 新查看体系是否有可用的python3装置包
yum list python3
# 假如没有可用的python3 装置包,则先装置一个 epel-release 的软件包,装上了 EPEL之后,就相当于增加了一个第三方源。
yum -y install epel-release
# 装置python3
yum install -y python3 python3-devel
# 装置pip
yum install -y python3-pip

【温馨提示】

  • python-dev或python-devel称为是python的开发包,其中包含了一些用C/Java/C#等编写的python扩展在编译的时候依靠的头文件等信息。
  • 比方我们在编译一个用C言语编写的python扩展模块时,由于里边会有#include<Python.h>等这样的句子,因而我们就需求先装置python-devel开发包。
  • 假如想要装置其它版本的python,能够选择离线装置,这儿就不讲怎么离线装置python了,其实离线装置也是十分简略的。

2)Window 渠道装置 Python

下载地址:www.python.org/downloads/w…

把exe装置包下载下来便是傻瓜式装置了,十分检查,有两种装置方式,一种是主动装置包含一些东西,一种是自定义装置。

Python 介绍和环境准备

3)装置 python IDE(PyCharm)

下载地址:www.jetbrains.com/pycharm/dow… 这儿装置社区版,专业版是需求收费的。其实社区版也够用了。有条件的能够选择专业版,或许去网上找专业版的破解版。装置也是傻瓜式的装置了。

Python 介绍和环境准备

4)PyCharm 关联 Python 环境

File-》Settings-》Project:项目名称-》Python Interpreter

Python 介绍和环境准备
Python 介绍和环境准备
增加python环境
Python 介绍和环境准备
Python 介绍和环境准备

5)python virtual environment

1、Python 虚拟环境介绍

Python 虚拟环境是一个阻隔/独立的python开发环境,和体系python环境能够彻底阻隔,互不相关,相当于多了一个python开发环境。

python virtual environment优缺陷?

  • 长处:每个虚拟环境之间,以及虚拟环境和体系环境之间是彻底阻隔的,不同虚拟环境中,你能够装置不同版本的模块,就似乎你能够同时拥有N多个不同的python开发环境。
  • 缺陷:每次进入某个虚拟环境之前,都要运用source指令激活。每次运用完,都要运用deactivate指令退出。

2、 装置虚拟环境

python有两个模块能够用于创立和办理python虚拟环境:

  • venv;
  • virtualenv;

其中,venv模块在python3.3以上的版本能够运用,而virtualenv在python2.7+和python3.3+都能够运用。

默许的体系python中是没有装置以上两个东西的,需求运用以下指令装置:

#装置venv
sudo yum install python3-venv
#装置virtualenv
pip install virtualenv
#或许
pip install virtualenv

3、简略运用

#装置python2.7虚拟环境
virtualenv /home/test/env
#装置python3.7虚拟环境
virtualenv --python=python3.7 /home/test/env3

运用venv

venv只要python3能够运用,因而只能创立python3的虚拟环境,创立指令如下:

python3 -m venv /home/test/env3

【温馨提示】其中,python3 -m venv是死指令,最终的装置路径自己指定。

4、激活与退出虚拟环境

【激活虚拟环境】 装置好虚拟环境之后,每次运用该虚拟环境前需求运用source指令激活它。假定前面我在/home/test/env3/目录下装置了python3.5的虚拟环境,现在我运用以下指令激活它:

python3 -m venv /home/test/env3
source /home/test/env3/bin/activate

【退出虚拟环境】 运用完该虚拟环境之后,你需求在指令行输入deactivate指令来退出该虚拟环境:

deactivate
# 履行上面的指令之后就回到了正常的体系python环境中。
# 由于你创立该虚拟环境的目的是为了跑某个项目的程序,现在该项目做完了,不需求该虚拟环境了,你能够把该虚拟环境直接删除
rm -r /home/test/env3

Python的介绍和环境预备就先到这儿了,有疑问的小伙伴环境给我留言,也能够重视我的大众号【大数据与云原生技能分享】进行技能交流~