今天上午为一个项目,折腾了半天环境,最后由于其他项目跟该项目之间依赖的软件版本之间有问题,不得不作罢。于是改为使用虚拟环境。以往在做 web 项目才启用虚拟环境,在神经网络项目上基本不用,但这次不用不行了。下面是为这次项目所做的笔记,以备有需要的朋友使用。
虚拟环境,哪里都少不了。
虚拟环境
代码语言:javascript复制# programming 是虚拟环境目录名称
qiwsir@qiwsirs-MBP python -m venv programming
# 进入虚拟环境目录
qiwsir@qiwsirs-MBP % cd programming
# 启动虚拟环境
qiwsir@qiwsirs-MBP programming % source ./bin/activate
# 退出
qiwsir@qiwsirs-MBP programming % deactivate
在虚拟环境中启动 Jupyter notebook
进入虚拟环境之后,安装:
代码语言:javascript复制(programming) qiwsir@qiwsirs-MBP programming % pip install --upgrade pip
(programming) qiwsir@qiwsirs-MBP programming % pip install ipykernel
# 以下的 programming 是呈现在 Jupyter 中的名称
(programming) qiwsir@qiwsirs-MBP programming % python -m ipykernel install -
-name programming
然后启动 jupyter notebook
代码语言:javascript复制(programming) qiwsir@qiwsirs-MBP programming % jupyter notebook
在 “New” 中看到 programming(前面取的名称),选择。如下图:
即可在 Jupyter notebook 中进入虚拟环境。
本来此文到这里就应该结束了。但是群发的时候,微信公众号系统提醒,因为不足300字,不能声明为原创。所以,再从我正写的作品草稿中摘抄一段,滥竽充数。
4. 除法
数学中表示两个数相除,有多种形式,比如
,在 Python 语言中只能选用一种符号,对于 Python 3.x ,使用 /
符号作为除法运算符,计算结果与数学中的
计算结果相同。
代码语言:javascript复制>>> 5 / 2
2.5
>>> 4.2 / 2
2.1
Python 中的除法也规定分母不能是 0
,否则就会报错:
>>> 1 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
表3-2-1中与除法有关的符号除了 /
之外,还有 %
和 //
。先来理解 //
运算符“向下取整”的含义。如图3-2-1所示,对于数轴,不论它如何放置,均以其箭头所指方向——数值变大的方向——为“上”,以
轴上的点 B 为例,假设它所表示的值是
,其中
,比如是
。所谓向下取整,即取 B 点所在位置“下边”紧邻的整数,据此并结合图示可知,应该是
,可以记作
,表示对
向下取整的结果为
。再来观察 D 点,其“下”的整数是
,若
,则
。
图3-2-1 “向下取整”的含义
根据上述“向下取整”的解释,请读者在交互模式中执行下述操作,并结合返回值,理解 //
的含义。
>>> 5 / 2
2.5
>>> 5 // 2
2
5 / 2
的值是 2.5
,结合图3-2-1所示的“向下取整”含义,
“下边”的整数是
,故 5 // 2
的结果是 2
。
再来看复数情况:
代码语言:javascript复制>>> -5 / 2
-2.5
>>> -5 // 2
-3
显然
“下边”的整数是
,所以 -5 // 2
的结果为 -3
。
用 //
按照“向下取整”原则得到的结果,也就是两个数字相除所得的商,然后在此基础上理解 %
的含义——两个数相除后所得的余数。
设
两个数相除,其结果为:
,其中
为商,
为余数,且
。根据数学知识可知:
。商
已经能够通过 //
得到,所以余数
。
根据上述原理,下面通过操作,理解 %
运算符:
>>> 5 % 2
1
根据前面的操作可知,在
的计算中,
,那么余数
,即上述返回值。再比如:
代码语言:javascript复制>>> 7 // -9
-1
>>> 7 % -9
-2
此处计算的是
的余数,
,根据前述计算余数的公式,
,理论分析与 Python 计算结果相同。
对此不再一一列举各种情况,读者不放自己尝试。
注: 这是正在写的一本书的草稿节选,放在此处充数。读者可以略去。重点是前面的。