Python 基础知识

Python介绍

语言简述

Python是近些年非常火的脚本语言,在1989年圣诞节期间诞生。

​ 创始人为吉多·范罗苏姆(Guido van Rossum),也被Python爱好者亲切的称之为龟叔。

​ 说起Python这个名字的由来,其实还是非常滑稽的,这个风靡全球的语言名字居然是来自龟叔喜欢的一部电视剧名叫Monty Python's Flying。

Python是一门基于C语言的动态语言,在执行过程中会先将自身的代码转变为字节码,然后通过字节码再转换为机器可读的机器码。这样的话执行效率相较于C语言就没有那么快,但是其优点是开发效率特别得高。

Python的优势在于开发效率,跨平台性以及人性化的语法让人爱不释手,但是Python的劣势在于较低执行效率以及GIL锁带来的并发性能问题。

人生苦短,我学Python

img

解释器选择

 Python也分很多种类,我们常说的Python其实就是指的CPython,另外还有JavaPythonlronPython等等不同的版本,那么他们其实就是基于JavaC#而开发而来的Python

​ 相较于常用的Cpython多了一个转换环节所以执行效率降低,在这里并不考虑,但是有一个Python变种却是非常的特殊,它弥补了CPython执行效率低下与不支持并行的特点,它就是PyPy

  PyPy的第一部分:用Python实现的Python

这么说并不准确,准确得说应该是用rPython实现的Python,rPython是Python的一个子集,虽然rPython不是完整的Python,但用rPython写的这个PyPy却是可以解释完整的Python语言。

  PyPy的第二部分:编译器

这是一个编译rPython的编译器,或者说这个编译器有一个rPython的前端,目前也只有这么一个前端,不过它的后端却是不少,也就是说这个编译器支持许多的目标语言,比较重要的有:C,CIL,JavaScript ...

历史概述

​ 由于我们平常讲的Python实际上都为CPython,故我们接下来的学习也是围绕CPython(以下简称Python)学习的。目前Python版本已经更迭到了3.8。

​ 1989年,Guido开始写Python语言的编译器。

​ 1991年,第一个Python编译器诞生。

​ 它是用C语言实现的,并能够调用C语言的库文件。

​ 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。

  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
  • Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django诞生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010

In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible

Python 3.0 - December 3, 2008

  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015
  • Python 3.6 - 2016-12
  • Python 3.7 - 2018
  • Python 3.8 - 2019

​ 细心的读者会发现,08年时就推出了3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,而很多公司已经基于2.0版本开发出了大量程序,公司已然投入了大量的人财物力,这就导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本,之后我们都应该采用3.0解释器开发程序,但为了方便读者维护2.0版本的软件,我们在遇到两种版本的差异时会专门指出来。

语言类型

Python是一种解释性语言,同时也是一门强类型语言,另外,它还属于动态语言。

​ 关于语言类型,可参照之前的文章。

应用方向

Python的应用领域十分广泛,如:人工智能,数据处理,爬虫,金融量化,云计算,WEB开发,自动化运维/测试,游戏开发,网络服务,图像处理等众多领域。并且国内外很多知名的企业也都在使用Python,如:Youtube、DropBox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo、FaceBook、NASA、百度、腾讯、汽车之家、美团等等。

Python安装

官网下载

​ 第一步:打开Python官网  https://www.python.org/

img

windows平台下载

​ 第二步:下载相应的版本(这里推荐2个版本都下载)

img

​ 第三步:下载Python3版本(个人使用3.6,图示中是3.8)

img

​ 第四步:下载Python2版本(个人使用2.7.18)

img

Linux平台下载

​ 第二步:下载相应的版本(Linux一般自带Python2.x版本,所以只需要下载Python 3.x版本即可)

img

Windows

Python2安装流程

img

img

img

img


Python3安装流程

img

img

img

img

Linux

​ 由于Linux平台自己有Python2版本,所以我们只需要安装Python3版本即可。

img

img

img

img

Mac

​ 由于MAC平台自己有Python2版本,所以我们只需要安装Python3版本即可。

​ 以Python3.6.8进行演示,首先你需要下载pkg安装包。

点我下载

​ 然后一直点击下一步即可,他会自动将Python安装到以下目录中,并且会自动添加环境变量:

/Library/Frameworks/Python.framework/Versions/3.6/

安装测试

​ 现在我们的Python已经安装完毕了,我们试着进入Python解释器看看是否大功告成

img

img

目录介绍

​ 不管是Python2版本还是Python3版本。它们的安装目录中结构都是一样的,我们来简单的看一下:

img

环境变量

Windows

 在Windows平台进行安装Python解释器的时候我们发现一直会有一个提示添加到环境变量,那么环境变量到底是什么呢?别着急。我们来看图:

img

​ 如何配置环境变量?实际上也非常简单。首先我们的Windows平台上安装了2个版本的Python解释器,所以需要对他们进行一些处理才能保证2个版本的Python解释器都能使用。

img

img

img

img

img

img

进入终端开始测试

img

Linux&Mac

img

img

pip相关

基本介绍

pipPython包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。

​ 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。

Python 2.7.9+ Python 3.4+ 以上版本都自带pip工具。

​ 如果你安装了两个版本的Python,则对应的pip命令就是pip2或者pip3

常用命令

​ 终端进行:

命令 描述
pip --version 显示版本和路径
pip --help 获取帮助
pip install -U pip pip升级
pip install [包名] 安装包
pip install —upgrade [包名] 升级包
pip uninstall [包名] 卸载包
pip search [包名] 搜索包
pip list 查看所有已安装的包
pip list -o 查看所有可升级的包

pip升级

​ 使用以下命令进行pip升级:

Windows平台:

python -m pip install -U pip   # python2.x
python -m pip3 install -U pip    # python3.x

Linux&Mac平台:

pip install --upgrade pip    # python2.x
pip3 install --upgrade pip   # python3.x

换源配置

pip下载的包默认是从国外源下载,速度较慢,因此可以为其设置为国内源:

Windows平台:

​ 直接在user目录中创建一个pip目录,如:C:\Users\用户1\pip,新建文件pip.ini,内容如下

[global]
index-url = https://mirrors.aliyun.com/pypi/simple

Linux&Mac平台:

​ 依次运行如下命令:

cd ~							# 进入用户家目录
mkdir .pip				# 创建隐藏文件夹
vim .pip/pip.conf # 创建pip3的配置文件

​ 然后在配置文件中填入以下内容,将下载源配置为阿里云:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple

运行方式

终端交互式

​ 打开终端,输入python3,开始执行你的第一条代码。

img

脚本调用式

​ 在一个文件中,书写好你的Python代码后进行调用,这是最常用

img

调用的原理

​ 一个Python程序被解释器解释并执行,其实大体上可以分为三个步骤:

  1. 启动Python解释器
  2. Python解释器发起系统调用,将C盘下的test文件夹下的test.py文件内容读取到内存中。注意此时读取到的依然是普通字符。
  3. Python解释器开始以识别Python语法,解释并执行内存中存储的test.py文件的内容。

虚拟环境

功能介绍

​ 虚拟环境其实是真实的Python解释器的一份拷贝。

​ 由于真实的Python解释器可能在不断的添加各种第三方库,而我们的项目中又没有用到这些库所以就会造成一个环境的污染,比如打包成exe文件后体积过大等问题。

​ 所以一个项目的环境干净是十分重要的,而虚拟环境就是为了净化项目环境而生的一种措施。

​ 我们在这里使用virtualenvvirtualenvwrapper这两个模块来更加方便的管理我们的虚拟环境。

Windows

​ 需要两个模块:

pip3 install virtualenv
pip3 install virtualenvwrapper-win

​ 创建虚拟环境工作目录,新建一个文件夹:

D: mkdir .virtualenvs

​ 然后配置虚拟环境工作目录:

  1. 打开环境变量,在用户变量中新建,变量名为WORKON_HOME,值为虚拟环境的配置路径
  2. 打开原本的Python3环境安装目录,找到Scripts文件夹,双击执行其下的virtualenvwrapper.bat

Linux&Mac

​ 现在,我们应该进行虚拟环境的搭建,依次下载以下两个模块:

pip3 install -i https://pypi.douban.com/simple virtualenv
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper

​ 创建虚拟环境的存放目录,我们将虚拟环境:

mkdir ~/.virtualenvs

​ 配置userHome/.bash_profile文件,如果是Mac用户且终端为zsh,则配置userHome/.zshrc文件:

# Setting virtual environment save path 
# 填入你的虚拟环境存放目录
export WORKON_HOME="~/.virtualenvs" 

# Setting virtual environment copy python path
# 填入你的真实Python3解释器路径,用于虚拟环境的拷贝
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

# Setting virtualenvwrapper.sh run path
# 填入virtualenvwrapper.sh的脚本路径
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh                                                                        

​ 最后刷新一下该文件的配置:

source ~/. bash_profile

模块使用

​ 终端输入如下命令:

命令 描述
workon 列出所有虚拟环境
mkvirtualenv -p python3 [虚拟环境名字] 创建新的虚拟环境
rmvirtualenv [虚拟环境名字] 删除指定的虚拟环境
workon [虚拟环境名字] 使用指定的虚拟环境
posted @ 2020-10-18 22:13  云崖君  阅读(134)  评论(0)    收藏  举报