Python简介
Python是由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它具有卓越的通用性、高效性、平台移植性和安全性。近几年Python在数据挖掘,人工智能等领域较为流行。
Python2和Python3
因为早期的 Python版本在基础方面设计存在着一些不足之处,所以在2008 年的时候 Guido van Rossum 又重新开发 Python 3.0(被称为Python 3000,或简称Py3k),Python3在设计的时候很好地解决了这些遗留问题, 并且在性能上也有了一定的提升, 然而 Python3 带来的最大的问题就是不完全向后兼容,当时向后兼容的版本是Python2.6。Python开发团队无法一下子就让所有项目和类库都转到 Python3.0 上面。 所以,两个版本就进入了长期并行开发和维护的状态。但是就更新速度来说 ,Python3更新速度远快于Python2的速度,因为Python2目前主要以维护为主,Python3是未来的趋势,但从目前形势来看,Python2和Python3应该会长期并存,就像现在的WinXP、Win7、Win10一样。
学习Python 2还是Python 3?
对于纠结是学python2还是python3的朋友,推荐你看一篇文章:https://blog.csdn.net/qq_39521554/article/details/80855086 。其实我刚开始学python的时候,也曾纠结过这个问题。当时主流用的还是python2,所以我没有在这个问题上纠结太久(当你不知道该如何二选一时,那么跟着主流走就对了)。
同时安装Python2和Python3
这里介绍下如何同时安装Python2和Python3,以及安装好之后如何使用,如何避免两个版本间的命令冲突。
当前Windows下稳定版Python如下:
Python 2 Release - Python 2.7.16(64位操作系统)
Python 3 Release - Python 3.7.3(64位操作系统)
如果上面两个版本不满足需求,可到Python官网,下载其他Python安装文件。
安装步骤这里就省去了,注意在安装过程中可以选择让安装程序来设置python的环境变量,当然也可以等安装以后,自己再去我的电脑>属性>高级系统设置>高级>环境变量>系统变量>Path里设置环境变量。
当python2和python3都安装完以后,可以看到无论是python2还是python3,python可执行文件都叫python.exe,那此时我们在cmd窗口里输入python,会进入哪个版本的python命令行中呢?其实在cmd下输入python得到的版本号取决于环境变量里哪个版本的python路径更靠前,毕竟windows是按照顺序查找的。
这就带来一个问题了,如果你一会想用python2运行一个脚本,一会又想用python3运行另一个脚本,你怎么做?来回改环境变量显然很麻烦。
网上有个简单粗暴的办法:把两个python.exe改名,一个改成python2.exe,一个改成python3.exe。这样做固然可以,但修改可执行文件的方式,毕竟不是很好的方法。
这里介绍一个我觉得比较合适的解决办法:
借用py的一个参数来调用不同版本的Python,即 py -2调用python2,py -3调用的是python3。
当python脚本需要python2运行时,只需在脚本最前面添加一行
#! python2
,然后运行py xxx.py即可。当python脚本需要python3运行时,只需在脚本最前面添加一行
#! python3
,然后运行py xxx.py即可。
有人可能会问,那我要用pip安装依赖包的时候该怎么办呢?
其实这个也很简单。我们可以看到在python2和python3的安装目录下都有一个Scripts目录(如果你安装好python之后,没有发现这个Scripts目录,那就去python官网下载一个最新版本的python安装包),而python2的Scripts目录里有个pip2.exe,python3的Scripts目录里有个pip3.exe。那么我们直接在cmd里执行
pip2 install xxx
就是安装python2的依赖包,执行pip3 install xxx
就是安装python3的依赖包。
更改Python依赖包的下载源
当我们使用pip来下载依赖包的时候,会发现下载速度比较慢,这是因为python默认使用的是官方下载源,这个下载源的地址在国外,所以最好更改为国内的下载源,即添加一个pip的配置文件。以下描述是基于windows系统上的操作:
1、按照pip的官方说明文档,它的配置文件应该放在%APPDATA%/pip/目录下,配置文件名称是pip.ini,我们先按下win+R键。或者在开始菜单上点右键,点运行。然后在出来的窗口中输入%APPDATA%,然后点击确定。
2、我们可能会发现该目录下并没有pip目录,那我们就手动创建一个。
3、pip目录创建好以后,进入到这个目录中,然后新建一个pip.ini文件,并在文件中输入以下内容:
[global] |
注:[global] 区域配置的是下载链接和超时时间,而[install] 区域配置的是安装时信任的地址。这里我写的是阿里云提供的pip下载源,其它的几个国内pip下载源地址如下:
# 阿里云 |
4、pip.ini文件写好之后,点击保存。然后重新打开一个cmd命令行窗口,使用pip安装任意一个模块,这个时候就能看到,使用的是阿里云的下载地址了,下载速度也快很多。
参考链接:https://jingyan.baidu.com/article/3d69c55127775af0cf02d79e.html
查找python的安装目录
有时候时间一长,我们自己也忘记当初把python安装到哪个位置了,那么如果想查看python的安装目录,只需进入到python命令行界面,然后依次输入以下内容即可:
import sys |
然后就会打印出python的安装目录了。
python一键获取依赖包和安装依赖包
获取依赖包
一键获取依赖包有两种方法:
第一种方法:获取环境中所有安装的包
打开命令提示符,在某条路径下输入 pip freeze > ./requirements.txt
这时就会生成一个requirements.txt文件
第二种方法:根据某一个项目的 import 语句来生成依赖
打开命令提示符,将路径切换到需要生成依赖的项目的根目录下,依次输入:
pip install pipreqs |
执行完以后,在这个项目下会生成一个requirements.txt文件,里面记录了该项目所用到的依赖。
安装依赖包
获得了依赖包之后,我们就可以在新环境下安装依赖包的模块,执行以下命令即可:
pip install -r requirements.txt |
关于python的除法操作
我们知道,在python中,除法有两种运算符,’/‘和’//‘,我们通常把’/‘ 叫做精确除,’//‘ 叫做地板除,它们在python2和python3上的表现结果也不太一样。
精确除和地板除的解释:
精确除:
在python2中,当被除数和除数都是整数时,得到的结果是被整除后的整数,舍弃小数部分,与C语言里面的除法处理方式一样。
在python3中,无论被除数和除数是整数还是浮点数,得到的商总是真实结果,总是得到保留尾数的浮点数。
地板除:是指无论被除数和除数是整数还是浮点数,得到的商都不保留浮点数的尾数。
在python2中,无论是’/‘ 还是 ‘//‘,
- 当被除数和除数都是整数时,那么结果也是整数;
- 当被除数和除数两者中有任何一个是浮点数时,那么结果也一定是浮点数。只是如果用 ‘//‘ 运算符的话,操作的结果是整除后的结果,虽然结果仍是浮点数,但其尾数被舍去了。
以python2.7为例: |
在python3中,为了与python2做个对比,这里特地加了一个 4 / 2
的计算。通过对比我们可以看出,无论被除数能否被整除,’/‘ 运算符操作的结果都是保留小数部分的,都是浮点数。
以python3.7为例: |
总结:无论是python2还是python3,如果想得到某个整数被整除后的结果,使用 ‘//‘ 就可以了。