LogoLogo
  • README
  • 前端编程
    • 01 Node JS
    • 02-ES6详解
    • 03-NPM详解
    • 04-Babel详解
    • 05-前端模块化开发
    • 06-WebPack详解
    • 07-Vue详解
    • 08-Git详解
    • 09-微信小程序
  • 人工智能
    • 机器学习
      • 二次分配问题
      • 非负矩阵
      • 概率潜在语义分析
      • 概率图模型
      • 集成学习
      • 降维
      • 距离度量
      • 决策树
      • 逻辑回归
      • 马尔可夫决策过程
      • 马尔可夫链蒙特卡洛法
      • 朴素贝叶斯法
      • 谱聚类
      • 奇异值分解
      • 潜在狄利克雷分配
      • 潜在语义分析
      • 强化学习
      • 社区算法
      • 时间序列模型
      • 特征工程
      • 条件随机场
      • 图论基础
      • 线性分类
      • 线性回归
      • 信息论中的熵
      • 隐马尔科夫模型
      • 支持向量机
      • 主成分分析
      • EM算法
      • Hermite 矩阵的特征值不等式
      • k-means聚类
      • k近邻法
      • PageRank算法
    • 深度学习
      • Pytorch篇
        • 01-线性模型
        • 02-梯度下降法
        • 03-反向传播
        • 04-pytorch入门
        • 05-用pytorch实现线性回归
        • 06-logistic回归
        • 07-处理多维特征的输入
        • 08-加载数据集
        • 09-多分类问题
        • 10-卷积神经网络
        • 11-循环神经网络
    • 图神经网络
      • 图神经网络笔记01
        • 01-图(Graphs)的结构
        • 02-网络的性质和随机图模型
        • 03-网络工具
        • 04-网络中的主题和结构角色
        • 05-网络中的社区结构
      • 图神经网络笔记02
        • 01-深度学习引言
        • 02-神经网络基础
        • 03-卷积神经网络
        • 04-图信号处理与图卷积神经网络
        • 05-GNN的变体与框架-
        • [06-Google PPRGo 两分钟分类千万节点的最快GNN](人工智能/图神经网络/图神经网络笔记02/06-Google%20PPRGo 两分钟分类千万节点的最快GNN.md)
        • 07-序列模型
        • 08-变分自编码器
        • 09-对抗生成网络
  • 日常记录
    • 健身日记
    • 面经记录
    • 自动生成Summary文件
  • 实战项目
    • 谷粒商城
      • 00-项目概述
      • 01-分布式基础-全栈开发篇
      • 02-分布式高级-微服务架构篇
      • 03-高可用集群-架构师提升篇
  • 数据库
    • MySQL笔记
      • 01-MySQL基础篇
      • 02-MySQL架构篇
      • 03-MySQL索引及调优篇
      • 04-MySQL事务篇
      • 05-MySQL日志与备份篇
    • Redis笔记
      • 01-Redis基础篇
      • 02-Redis高级篇
    • 02-Redis篇
  • 算法笔记
    • 01-算法基础篇
    • 02-算法刷题篇
  • 职能扩展
    • 产品运营篇
  • Go编程
    • 01-Go基础
      • 01-Go基础篇
  • Java编程
    • 01-Java基础
      • 01-Java基础篇
      • 02-多线程篇
      • 03-注射与反解篇
      • 04-JUC并发编程篇
      • 05-JUC并发编程与源码分析
      • 06-JVM原理篇
      • 07-Netty原理篇
      • 08-设计模式篇
    • 02 Java Web
      • 01-Mybatis篇
      • 01-Mybatis篇(新版)
      • 02-Spring篇
      • 02-Spring篇(新版)
      • 03-SpringMVC篇
      • 04-MybatisPlus篇
    • 03-Java微服务
      • 01-SpringBoot篇
      • 01-SpringBoot篇(新版)
      • 02-SpringSecurity篇
      • 03-Shiro篇
      • 04-Swagger篇
      • 05-Zookeeper篇
      • 06-Dubbo篇
      • 07-SpringCloud篇
      • 08-SpringAlibaba篇
      • 09-SpringCloud篇(新版)
    • 04-Java中间件
      • 数据库篇
        • 01-分库分表概述
        • 02-MyCat篇
        • 03-MyCat2篇
        • 04-Sharding-jdbc篇
        • 05-ElasticSearch篇
      • 消息中间件篇
        • 01-MQ概述
        • 02-RabbitMQ篇
        • 03-Kafka篇
        • 04-RocketMQ篇
        • 05-Pulsar篇
    • 05-扩展篇
      • Dubbo篇
      • SpringBoot篇
      • SpringCloud篇
    • 06-第三方技术
      • 01-CDN技术篇
      • 02-POI技术篇
      • 03-第三方支付技术篇
      • 04-第三方登录技术篇
      • 05-第三方短信接入篇
      • 06-视频点播技术篇
      • 07-视频直播技术篇
    • 07-云原生
      • 01-Docker篇
      • 02-Kubernetes篇
      • 03-Kubesphere篇
  • Linux运维
    • 01-Linux篇
    • 02-Nginx篇
  • Python编程
    • 01-Python基础
      • 01.配置环境
      • 02.流程控制
      • 03.数值
      • 04.操作符
      • 05.列表
      • 06.元祖
      • 07.集合
      • 08.字典
      • 09.复制
      • 10.字符串
      • 11.函数
      • 12.常见内置函数
      • 13.变量
      • 14.异常和语法错误
      • 15.时间和日期
      • 16.正则表达式
    • 02 Python Web
      • flask篇
        • 01.前言
        • 02.路由
        • 03.模板
        • 04.视图进阶
        • 05.flask-sqlalchemy
        • 06.表单WTForms
        • 07.session与cookie
        • 08.上下文
        • 09.钩子函数
        • 10.flask 信号
        • 11.RESTFUL
        • 13.flask-mail
        • 14.flask+celery
        • 15.部署
        • 16.flask-login
        • 17.flask-cache
        • 18.flask-babel
        • 19.flask-dashed
        • 20.flask-pjax
        • 21.flask上传文件到第三方
        • 22.flask-restless
        • 23.flask-redis
        • 24.flask-flash
        • 25.消息通知
        • 26.分页
    • 03-Python数据分析
      • Matplotlib
      • Numpy
      • Pandas
      • Seaborn
    • 04-Python爬虫
      • 1.准备工作
      • 2.请求模块的使用
      • 3.解析模块的使用
      • 4.数据存储
      • 5.识别验证码
      • 6.爬取APP
      • 7.爬虫框架
      • 8.分布式爬虫
由 GitBook 提供支持
在本页
  • 环境搭建
  • 在Windows下安装Python
  • Python安装包安装
  • Anaconda安装
  • 安装Pycharm
  • pycharm 基本用法
  • 新建项目
  • 编码设置
  • 环境配置
  • 字体
  • Pycharm快捷键
  • 调试
  • 设置Pycharm背景皮肤
  • 安装 Jupyter
  • 安装Jupyter
  • 运行
  • jupyter notebook常用命令
  • Markdown用法
  • 常用魔法函数
  • jupyter如何生成PDF文件
  • 相关资源下载
  • 中文乱码处理
  • 数学公式
  • 上标
  • 下标
  • 平方根
  • 符号
  • 口音
  • 括号
  • 字体及其选项
  • 空格
  • 转义字符
  • 等式对齐
  • 分段函数
  • 总结
  • 数学符号表
  • 如何在jupyter中集成MATLAB
  • 虚拟环境
  • 安装virtualenv
  • 安装virtualenvwrapper
  • 重建Python环境
  • 交互式解释器
  • 数据
  • 数据类型
  • Python数据类型转换
  • 输入输出
  • 打印输出
  • 占位符
  • format
  • print函数的几个常用参数
  • 读取键盘输入
  • 注释
  • 单行注释符
  • 多行注释符
  • 中文注释方法
  • 命名和保留字
  • 应该避免的名称
  • 命名约定
  • 保留字
  • 打包程序
  • 安装
  • 检测是否安装成功
  • 命令
  • 安装

这有帮助吗?

在GitHub上编辑
  1. Python编程
  2. 01-Python基础

01.配置环境

上一页01-Python基础下一页02.流程控制

最后更新于3年前

这有帮助吗?

工欲善其事,必先利其器

在开始工作之前,首先准备了解一下基本的知识点

只有把基础打好,才能够冲的更远

环境搭建

在Windows下安装Python

安装python有两种方式:

  • 一种通过Python安装包安装

  • 另一种通过anaconda安装

接下来介绍如何安装两种方式的安装方法:

Python安装包安装

  • 官方网站:https://www.python.org/

首先进入官网

img

然后点击Downloads > Windows,会出现如何界面

第一个是默认安装,第二个是用户自定义安装,最下方的复选框,勾选后,表示python路径自动添加到环境变量中

本文选择用户自定义安装

然后点击安装,安装完后,出现successful,就表示安装成功了

现在测试,是否安装成功了,按下win+r,并输入cmd,进入控制平台,在命令框下输入python

出现以上类似内容,就证明安装成功了

如果出现以下提示

代表环境路径,没有配置好,需要将python.exe所在的python路径添加到环境变量中,

首先右键点击此电脑,选中属性,出现如下界面

选中高级系统设置,然后可以看到有环境变量的选项,点击进去,出现如下视图

选中系统变量下的Path选项,然后,点击编辑,然后找到python.exe的所在路径

粘贴复制到刚才编辑变量处,点击新建

然后点击确定,就可以了

有可能自己的电脑下装了很多不同版本的python,为了区别开来,可以在python目录,将python.exe,复制粘贴并命名为新的名字,作为原来的python.exe的代替

测试一下,在命令框中输入python36

另外还需要将python下的Scripts目录添加到环境变量中

Anaconda安装

  • 官方网站:https://www.anaconda.com/download/

首先进入官网

温馨提示

建议使用anaconda

工欲善其事,必先利其器

安装Pycharm

有两个版本,professional是专业版,需要进行收费,community是社区版,是免费的

为了自己更好的进行学习,选用professional版本的

下载过程~

注意安装路径尽量不使用带有中文或空格的目录,这样在之后的使用过程中减少一些莫名的错误

安装完成后,不要着急打开,首先需要进行破解,不然无法使用

这里采用补丁进行破解

首先点击

进行使用,然后打开应用

之后下载 jetbrains-agent-latest.zip,然后不用解压!不用解压!直接拖到安装目录,再次启动就自动安装了!

链接:https://pan.baidu.com/s/14Va_A-xhWJajB9fS85oQLA 
提取码:v8vu

pycharm 基本用法

新建项目

File > New Project > Pure Python

最后点击create即可,如下图所示

然后右键点中项目,然后选中New > Python File

运行

对配置pycharm,首先进入设置中进行配置

编码设置

为了避免编码带来的问题,对文件编码进行设置

环境配置

当有多个版本的时候,可以通过Project Interpreter 方便的进行管理

有一个下拉选项框,可以手动选中需要的python版本,也可以删除不需要的python版本

有一个"+",可以方便的添加python模块,下面的"-",与"+"相反

字体

Font:字体

Size:字体大小

Pycharm快捷键

键
作用

ctrl + shift + f10

运行

ctrl + /

注释

双击 shift 键

全局查找

ctrl + P

查看函数参数

ctrl + space

基本的代码完成

shift + f9

调试

shift + enter

另起一行

ctrl + D

复制

调试

或者

简单介绍一下调试栏的几个重要的按钮作用:

Resume Program:断点调试后,点击按钮,继续执行程序;

Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和Step Into效果一样的(简而言之,越过子函数,但子函数会执行);

Step Into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);

Step Out: 当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。

设置Pycharm背景皮肤

点击Background Image

然后选择图片,便可以了

安装 Jupyter

什么是Jupyter?

Jupyter Notebook(此前被称为IPython notebook)是一个交互式笔记本,支持运行40 多种编程语言。 
Jupyter Notebook 的本质是一个Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和markdown

安装Jupyter

python3 -m pip install --upgrade pip
python3 -m pip install jupyter

或者直接

pip install jupyter

运行

安装完成后,运行Jupyter notebook,在命令框下,输入如下命令即可:

jupyter notebook

在浏览器中输入 localhost:8888 会出现如下界面

温馨提示:

jupyrt notebook 应该需要创建一个文件夹,然后在当前文件夹目录下运行命令

jupyter notebook常用命令

  • 帮助

jupyter notebook --help 或者 jupyter notebook -h
  • 启动

默认端口启动

jupyter notebook

之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,将无法在Jupyter Notebook中进行其他操作

指定端口启动

jupyter notebook --port <port_number>

例如:jupyter notebook --port 8889

启动服务器但不打开浏览器

jupyter-notebook --no-browser

以root身份启动

jupyter notebook --ip=127.0.0.1 --port 8000 --allow-root

生成jupyter的配置文件

jupyter notebook --generate-config

修改jupyter的配置文件

vim ~/.jupyter/jupyter_notebook_config.py

将293行 #c.NotebookApp.token = '<generated>'修改为c.NotebookApp.token = 'password',则密码就改为password

修改密码

启动jupyter后,新建一个python

输入第一行
from notebook.auth import passwd
alt + enter 来执行这个命令并进入下一行;在下一行里面输入:
passwd()

Markdown用法

常用魔法函数

魔法函数
作用

%%writefile

调用外部python脚本

%run

调用外部python脚本

%timeit

测试单行语句的执行时间

%%timeit

测试整个单元中代码的执行时间

% matplotlib inline

显示matplotlib包生成的图形

%%writefile

写入文件

%pdb

调试程序

%pwd

查看当前工作目录

%ls

查看目录文件列表

%reset

清除全部变量

%who

查看所有全局变量的名称,若给定类型参数,只返回该类型的变量 列表

%whos

显示所有的全局变量名称、类型、值/信息

%xmode Plain

设置为当异常发生时只展示简单的异常信息

%xmode Verbose

设置为当异常发生时展示详细的异常信息

%debug

bug调试,输入quit退出调试

%env

列出全部环境变量

jupyter如何生成PDF文件

相关资源下载

  • Pandoc:http://so.csdn.net/so/search/s.do?q=pandoc&t=doc&o=&s=all&l=null

  • Miktex:https://miktex.org/

下载相关资源即可生成pdf文件

中文乱码处理

  • ipython nbconvert --to latex xxx.ipynb

  • 修改tex 或者 修改E:\Anaconda3\Lib\site-packages\nbconvert\templates\latex\article.tplx

    双击打开转换的文件在\documentclass{article}后面插入 
    \usepackage{fontspec, xunicode, xltxtra} 
    \setmainfont{Microsoft YaHei} 
    \usepackage{ctex}
  • 编译tex,生成pdf

    xelatex xxx.tex

数学公式

  • 约定

    • 使用{}包括一个表达式当成整体

    • 需要使用'$$' 、 '$$'一对将数学公式包括起来

  • 示例:

       $$ y^{2x} $$

    如下: y2xy^{2x}y2x

上标

示例:

$$x^2$$

如下: x2x^2x2

ex2xex^{2x}ex2x

下标

  • 第一种情况 示例:

    $$x_i$$

    如下: xix_ixi​

  • 第二种情况 示例:

    $$_{10}C_5$$

    如下: 10C5_{10}C_510​C5​

  • 第三种情况 示例:

    $$\underset{k}{argmax}$$

    如下: argmaxk\underset{k}{argmax}kargmax​

平方根

示例:

$$ \sqrt{2\pi} $$

如下: 2π\sqrt{2\pi}2π​

符号

  • 希腊字母

    \alpha, \beta, \gamma

    如下: α,β,γ\alpha, \beta, \gammaα,β,γ

  • 大写希腊字母

    \Phi, \Lambda, \Gamma

    如下: Φ,Λ,Γ\Phi, \Lambda, \GammaΦ,Λ,Γ

  • 乘、正负、并集、卷积符号

    \times, \pm, \cup, \oplus

    如下: ×,±,∪,⊕\times, \pm, \cup, \oplus×,±,∪,⊕

  • 三角函数

    \sin, \cosh, \arctan

    如下: sin⁡,cosh⁡,arctan⁡\sin, \cosh, \arctansin,cosh,arctan

  • 关系运算

    \leq, \geq, \approx, \neq

    如下: ≤,≥,≈,≠\leq, \geq, \approx, \neq≤,≥,≈,=

  • 3点符号

    \cdots, \ldots, \ddots

    如下: ⋯ ,…,⋱\cdots, \ldots, \ddots⋯,…,⋱

  • 其他的变量符

    \infty, \nabla, \partial

    如下: ∞,∇,∂\infty, \nabla, \partial∞,∇,∂

口音

  • 在符号上面加个帽子: \hat x,显示为

x^\hat xx^

如果在多个字符上加帽子,可以使用\widehat ,如 ```widehat{abs} ```显示为

widehatabswidehat{abs}widehatabs

  • 为了显示平均数,通常需要在变量上面添加一条线,通过\bar x,显示为

    xˉ\bar xxˉ

    如果是多个字符,可以使用 \overline{abs},显示为 abs‾\overline{abs}abs

  • 导数通过点表示,如 \dot x 和 \ddot x ,显示为 x˙和x¨\dot x 和 \ddot xx˙和x¨

  • 箭头为 \vec{x}, \overrightarrow{AB} ,显示为 x⃗,AB→\vec{x}, \overrightarrow{AB}x,AB

括号

  • 圆括号

    (\frac{dx}{dy})^{\frac{1}{3}}

    如下: (dxdy)13(\frac{dx}{dy})^{\frac{1}{3}}(dydx​)31​

  • 拉伸括号,使用 \left 和 \right

    $$z=\left(\frac{dx}{dy}\right)^{1/3}$$

    如下: z=(dxdy)1/3z=\left(\frac{dx}{dy}\right)^{1/3}z=(dydx​)1/3

特殊的括号

  • 直线 | 或写为 \vert ,\mid 显示效果和 \vert 非常相似,但 \mid 宽度比 \vert 大

  • 尖括号,例如$$ {\langle} {\phi} \mid {\psi} {\rangle} $$ 显示为 ⟨ϕ∣ψ⟩{\langle} {\phi} \mid {\psi} {\rangle}⟨ϕ∣ψ⟩

  • 矩阵括号,如 $$\left[\begin{matrix}a & b \cr c & d\end{matrix}\right]$$ 显示为 [abcd]\left[\begin{matrix}a & b \cr c & d\end{matrix}\right][ac​bd​] 或者是:$$\left\lgroup\begin{matrix}a & b \cr c & d\end{matrix}\right\rgroup$$ ⟮abcd⟯\left\lgroup\begin{matrix}a & b \cr c & d\end{matrix}\right\rgroup⎩⎧​ac​bd​⎭⎫​

字体及其选项

  • 非斜体罗马文本

    \textrm{abcdefghijklmn123456} 或者 \rm{abcdefghijklmn123456}

    如下: abcdefghijklmn123456或者abcdefghijklmn123456\textrm{abcdefghijklmn123456} 或者 \rm{abcdefghijklmn123456}abcdefghijklmn123456或者abcdefghijklmn123456

  • 斜体字母

    $$ \mathit{abcdefghijklmn123456} $$

    如下: abcdefghijklmn123456\mathit{abcdefghijklmn123456}abcdefghijklmn123456

  • Sans serif 字体

    \mathsf{abcdefghijklmn123456}

    如下: abcdefghijklmn123456\mathsf{abcdefghijklmn123456}abcdefghijklmn123456

  • Typerwriter 字体

    \mathtt{abcdefghijklmn123456}

    如下: abcdefghijklmn123456\mathtt{abcdefghijklmn123456}abcdefghijklmn123456

  • Calligraphic 字体

    \mathcal{abcdefghijklmn123456}

    如下: abcdefghijklmn123456\mathcal{abcdefghijklmn123456}abcdefghijklmn123456

  • Blackborad bold 字体

    \mathbb{abcdefghijklmn123456}

    如下: abcdefghijklmn123456\mathbb{abcdefghijklmn123456}abcdefghijklmn123456

  • Boldsymbol 字体加粗

    \boldsymbol{A\cdot x}=\lambda\cdot v

    如下: A⋅x=λ⋅v\boldsymbol{A\cdot x}=\lambda\cdot vA⋅x=λ⋅v

空格

  • 在LaTeX中,符号之间的空格会被自动移除,所以不能直接写空格

    $$ \int f(x) dx $$

    如下: ∫f(x)dx\int f(x) dx∫f(x)dx

  • 函数和 dx 之间没有空格,你能通过 , 或 : 或 ;添加空格,其空格宽度分别为从小到大

    $$\int f(x) ; dx$$

    如下: ∫f(x);dx\int f(x) ; dx∫f(x);dx

转义字符

如果你需要使用特殊的字符,比如 { 或 _ ,你必须通过反斜杠进行转义,例如 { ,_ ,$ 分别表示 { 、 _ 、 $ ,\ 的转义为 \\

等式对齐

  • 通过 \ 断开两个或多个等式,可实现等式中部对齐

    $$
    a_1=b_1+c_1 \\
    a_2=b_2+c_2+d_2 \\
    a_3=b_3+c_3
    $$

    如下: a1=b1+c1a2=b2+c2+d2a3=b3+c3a_1=b_1+c_1 \\ a_2=b_2+c_2+d_2 \\ a_3=b_3+c_3a1​=b1​+c1​a2​=b2​+c2​+d2​a3​=b3​+c3​

  • 左对齐

    $$
    \begin{align}
    a_1&=b_1+c_1 \\
    a_2&=b_2+c_2+d_2 \\
    a_3&=b_3+c_3
    \end{align}
    $$

    如下: \begin{align} a_1&=b_1+c_1 \\ a_2&=b_2+c_2+d_2 \\ a_3&=b_3+c_3 \end{align}

  • 对方程进行编号,使用\tag

    $$
    \begin{align}
    a_1&=b_1+c_1 \tag{1}\\
    a_2&=b_2+c_2+d_2 \tag{2}\\
    a_3&=b_3+c_3 \tag{3}
    \end{align}
    $$

    如下: \begin{align} a_1&=b_1+c_1 \tag{1}\\ a_2&=b_2+c_2+d_2 \tag{2}\\ a_3&=b_3+c_3 \tag{3} \end{align}

分段函数

  • 使用符号函数sign

    $$
    sign(x)=\begin{cases}
    1,&x>0 \\ 0,&x=0 \cr -1,&x<0
    \end{cases}
    $$

    如下: sign(x)={1,x>00,x=0−1,x<0sign(x)=\begin{cases} 1,&x>0 \\ 0,&x=0 \cr -1,&x<0 \end{cases}sign(x)=⎩⎨⎧​1,0,−1,​x>0x=0x<0​

总结

  • 命令

    1. 指数和下标可以用^和_后,跟相应字符实现。例如``$a^3$ , $a_3$`表示

      $a^3$ , $a_3$

    2. 平方根的为\sqrt, n次方根为\sqrt[n]。例如 $\sqrt{a} \sqrt[3]{a}$

      $\sqrt{a} 、 \sqrt[3]{a}$

    3. 命令 \overline 和 \underline 表示表达式上的上、下坊给出以水平大括号。例如:$\overline{m+n}$ 表示

      $\overline{m+n}$

      $\underline{m+n}$ 表示

      $\underline{m+n}$

    4. 命令 \overbrace 和 \underbrace 在表达式的上、下方给出一水平的大括号,例如 $\underbrace{a+b+\cdots+j}_{10}$表示

      $\underbrace{a+b+\cdots+j}_{10}$

    5. 向量(Vector)通常用于上方有小箭头的变量表示,可以有\vec得到,例如 $\vec a$表示

      $\vec a$

      $$\overrightarrow{AB}$ 、\overleftarrow{AB}$ 表示

      $\overrightarrow{AB}$ 、$\overleftarrow{AB}$

    6. 分数(fraction) 使用 \frac{...}{...} 排版,一般来说,1/2 这种形式更受欢迎,以为对于少量的分式,它看起来更好些。 $\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ 表示

      $\frac{-b\pm\sqrt{b^2-4ac}}{2a}$

    7. 积分运算符(integral operator) 用 \int 来生成,例如$\int_{0}^{\pi}{\tan x}$表示

      $\int_{0}^{\pi}{\tan x}$

    8. 求和运算符(sum operator) 用 \sum 来生成,例如 $\sum_{i=0}^{n}{i}$表示

      $\sum_{i=0}^{n}{i}$

    9. 乘积运算符(product operator) 用 \prod 生成,例如 $\prod_{i=1}^{9}{i}$ 表示

      $\sum_{i=0}^{n}{i}$

数学符号表

如何在jupyter中集成MATLAB

  • 先安装matlab

  • 然后安装anaconda

  • 切换到E:\MATLAB\R2018a\extern\engines\python

    pip setup.py install
  • pip install matlab_kernel

  • 测试

x=1:1:5;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止
 a=[203.024,113.857,256.259,244.888,293.376]; %a数据y值
 b=[334.4,143.2,297.4,487.2,596.2]; %b数据y值
 plot(x,a,'-*b',x,b,'-or'); %线性,颜色,标记
axis([0,6,0,700])  %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:6]) %x轴范围1-6,间隔1
set(gca,'YTick',[0:100:700]) %y轴范围0-700,间隔100
legend('Neo4j','MongoDB');   %右上角标注
xlabel('深度')  %x轴坐标描述
ylabel('时间(ms)') %y轴坐标描述

虚拟环境

首先来讲下为什么要安装搭建虚拟环境?

  • 搭建独立的python运行环境,防止与其他版本的python产生冲突

  • 有助于包管理和避免版本的冲突

  • 卸载方便

接下来开始安装虚拟环境

安装virtualenv

pip install virtualenv

创建项目文件

# 创建文件
F:\py_virtualenv>mkdir app

# 切换目录
F:\py_virtualenv>cd app

F:\py_virtualenv\app>

指定版本创建

mkvirtualenv --python=D:\py\python2.7\python.exe app

安装虚拟环境

在自定义的目录下安装虚拟环境,输入 virtualenv 虚拟环境名

F:\py_virtualenv\app>virtualenv django
Using base prefix 'e:\\anaconda3'
New python executable in F:\py_virtualenv\app\django\Scripts\python.exe
Installing setuptools, pip, wheel...done.

会在当前目录创建一个django 文件,切换到当前目录下Scripts

F:\py_virtualenv\app>cd django

F:\py_virtualenv\app\django>cd Scripts

F:\py_virtualenv\app\django\Scripts>

启动虚拟环境

输入如下命令进行命令

activate

如:

F:\py_virtualenv\app\django\Scripts>activate

(django) F:\py_virtualenv\app\django\Scripts>

在前面会出现,自定义的虚拟环境的名字

退出虚拟环境

输入如下命令

deactivate

如:

(django) F:\py_virtualenv\app\django\Scripts>deactivate
F:\py_virtualenv\app\django\Scripts>

安装virtualenvwrapper

为了更方便使用virtualenv,借助 virtualenvwrapper 来安装虚拟环境

定义默认的安装路径

通过 计算机 > 属性 > 高级系统设置 > 环境变量

然后在系统变量中新建"变量名":WORKON_HOME,变量值:"自定义的路径"。

创建环境变量命令:

mkvirtualenv venv

如:

C:\Users\tokimeki>mkvirtualenv venv
Using base prefix 'e:\\anaconda3'
New python executable in F:\py_virtualenv\venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.

列出所有虚拟环境命令:

lsvirtualenv

如:

(venv) C:\Users\tokimeki>lsvirtualenv

dir /b /ad "F:\py_virtualenv"
==============================================================================
app
venv

激活虚拟环境命令:

workon venv

如:

C:\Users\tokimeki>workon venv
(venv) C:\Users\tokimeki>

进入虚拟环境目录命令:

cdsitepackages

如:

(venv) C:\Users\tokimeki>cdsitepackages
(venv) F:\py_virtualenv\venv\Lib\site-packages>

列出site-packages目录的所有软件包 命令

lssitepackages

如:

(venv) F:\py_virtualenv\venv\Lib\site-packages>lssitepackages

dir /b "F:\py_virtualenv\venv\Lib\site-packages"
==============================================================================
easy_install.py
pip
pip-18.0.dist-info
pkg_resources
setuptools
setuptools-40.4.2.dist-info
wheel
wheel-0.31.1.dist-info
__pycache__

退出虚拟环境命令:

deactivate

如:

(venv) F:\py_virtualenv\venv\Lib\site-packages>deactivate

F:\py_virtualenv\venv\Lib\site-packages>

删除虚拟环境命令:

rmvirtualenv 虚拟环境名字

如:

F:\py_virtualenv\venv\Lib\site-packages>rmvirtualenv app

    Deleted F:\py_virtualenv\app

重建Python环境

冻结环境

所谓 冻结(freeze) 环境,就是将当前环境的软件包等固定下来:

# 安装包列表保存到文件packages.txt中
pip freeze > requirements.txt

重建环境

重建(rebuild) 环境就是在部署的时候,在生产环境安装好对应版本的软件包,不要出现版本兼容等问题:

pip install -r requirements.txt

交互式解释器

当启动python后,会有下面类似的提示

C:\Users\tokimeki>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

现在来输入第一个程序

>>> print("HelloWorld")

当按下回车后,会得到如下输出

HelloWorld

数据

在python编程中,万物皆对象,实际上数据类型是类,而变量是这些类的实例化对象

数据类型

  • 数字:Number

    • 整型:int

    • 浮点型:float

    • 复数:complex

    • 布尔值:bool

    python3中没有了long类型,现在只有一种整型 int,表示长整型
  • 字符串:String

    • 字符串是 Unicode 字符的序列,可以使用单引号 '' 和双引号 "" 来表示字符串,而多行的字符串可以使用 ''' 和 """ 来表示

  • 列表:List

  • 元组:Tuple

  • 集合:Set

  • 字典:Dictionary

在标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

在后面会慢慢讲解的,现在大致了解一下

现在来补充一点知识

多个变量赋值

a = b = c = 1

上面的实例,创建了一个整型对象,值为1,从后向前进行赋值,而且三个变量都指向通过一个内存地址

为多个对象赋值

a,b,c=1,2,'angle'

创建对象

var = 1

删除对象

通过使用del语句删除对象引用

del var

可以删除多个对象

del var1,var2

Python数据类型转换

有时候,需要对数据内置的类型进行转换,数据类型的转换,只需要将数据类型作为函数名即可

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值

函数
描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

输入输出

打印输出

首先来定义一个变量

>>> a = "HelloWorld"

后面通过几种不同的方式,打印这个变量

第一种

直接使用print()打印a变量

>>> print(a)
HelloWorld

第二种

使用%输出a变量

>>> print("%s" % a)
HelloWorld

解释:

%s:占位符,为字符串占据一个位置

第三种

使用format()方法,格式化输出

>>> print("{}".format(a))
HelloWorld

或者

>>> print("{0}".format(a))
HelloWorld

也可以通过关键字参数输出

print("{a}".format(a=a))

注意:括号中的0,代表format中参数的顺序

提示

如何输出小数点位数?

比如定义一个a=1.234,输出保留一位

可以通过%.nf实现,n代表的是保留的位数

>>> print("%.2f" % a)
1.23


>>> print("{:.2f}".format(a))
1.23

占位符

百分号

语法:

%[(name)][flags][width].[precision]typecode
  • name 可选,用于选择指定的key

  • width 可选,占有宽度

  • .precision 可选,小数点后保留的位数

  • flags 可选,可供选择的值有:

    • + 右对齐;正数前加正好,负数前加负号;

    • - 左对齐;正数前无符号,负数前加负号;

    • 空格 右对齐;正数前加空格,负数前加负号;

    • 0 右对齐;正数前无符号,负数前加负号;用0填充空白处

print("%-10d" % 100)
  • typecode 必选

- s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置
- r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
- c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
- o,将整数转换成 八  进制表示,并将其格式化到指定位置
- x,将整数转换成十六进制表示,并将其格式化到指定位置
- d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
- e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
- E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
- f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
- F,同上
- g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
- G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
- %,当字符串中存在格式化标志时,需要用 %%表示一个百分号

实例:

print("%-10s" % 'angle')
print(".2f" % 1.236)

format

语法:

[[fill]align][sign][#][0][width][,][.precision][type]
  • fill 【可选】空白处填充的字符

print("{:-<10}".format(1))

运行结果:

1---------
  • align 【可选】对齐方式(需配合width使用)

    • <,内容左对齐

    • >,内容右对齐(默认)

    • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字

    • ^,内容居中

print("{: <10}".format(1))
print("{:>10}".format(1))

运行结果:

1         
         1
  • sign:【可选】有无符号数字

    • +,正号加正,负号加负;

    • -,正号不变,负号加负;

    • 空格 ,正号空格,负号加负;

  • # :【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示

print("{:#b}".format(1000000))


>>> 0b11110100001001000000
  • ,:【可选】为数字添加分隔符,用于显示数字的

    千位分隔符,如:1,000,000

print("{:,}".format(1000000))
  • width :【可选】格式化位所占宽度

print("{:10}".format(1000000))
  • .precision :【可选】小数位保留精度

print("{:.2f}".format(1.123456))

print("{:.2}".format(1.123456))

运行结果:

1.12
1.1

注意:有区别喔
  • type:【可选】格式化类型

    • 传入” 字符串类型 “的参数

      • s,格式化字符串类型数据

      • 空白,未指定类型,则默认是None,同s

    • 传入“ 整数类型 ”的参数

      • b,将10进制整数自动转换成2进制表示然后格式化

      • c,将10进制整数自动转换为其对应的unicode字符

      • d,十进制整数

      • o,将10进制整数自动转换成8进制表示然后格式化;

      • x,将10进制整数自动转换成16进制表示然后格式化(小写x)

      • X,将10进制整数自动转换成16进制表示然后格式化(大写X)

    • 传入“ 浮点型或小数类型 ”的参数

      • e, 转换为科学计数法(小写e)表示,然后格式化;

      • E, 转换为科学计数法(大写E)表示,然后格式化;

      • f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

      • F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

      • g, 自动在e和f中切换

      • G, 自动在E和F中切换

      • %,显示百分比(默认显示小数点后6位)

print("{:b}".format(1000000))

print函数的几个常用参数

print(end=,sep=,)
  • end:以什么字符作为结尾,默认

  • sep:以什么字符作为间隔符,默认为空格

读取键盘输入

讲完了输出,现在开始讲解如何获取输入

使用input函数就可以获取到输入的值

示例:从键盘上获取"Helloworld"字符串

>>> a = input()
Helloworld
>>> a
'Helloworld'

在input()函数中可以写入一串字符串

>>> a = input("请输入字符串:")
请输入字符串:helloworld
>>> a
'helloworld'

注释

单行注释符

井号(#)在python中用作为单行注释符,在代码中使用#后,右边的任何数据都会被忽略掉

a = 1 # 定义变量

多行注释符

多行注释符用三引号进行注释

'''
被注释了
'''

或者


"""
被注释了
"""

中文注释方法

在python编写代码的时候,避免不了会出现或是用到中文,这时候你需要在文件开头加上中文注释

#coding=utf-8
或者:
#coding=gbk

在python3中,编码默认utf-8

命名和保留字

应该避免的名称

以下的命名应该尽量避免:

  • 单字符名称, 除了计数器和迭代器

s = "hello world"
  • 包/模块名中的连字符(-)

# 错误的包名
# 引用文件 html-parser.py
import html-parser

# 正确的写法
# 文件名应为 html_parser.py
import html_parser
  • 双下划线开头并结尾的名称(Python保留, 例如__init__)

  • 应避免使用小写字母l(L),大写字母O(o)或I(i)单独作为一个变量的名称,以区分数字1和0

  • 当参数名称和Python保留字冲突,可在最后添加一个下划线,而不是使用缩写或自造的词

# 如果变量名和python保留字冲突,则在末尾添加下划线
# 切记不要自己造词,或者使用缩写

str_ = "hello world!"
print_(str_)

命名约定

  • 模块

    • 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)

  • 类名

    • 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

class OurHome():
    pass
  • 函数

    • 函数名一律小写,如有多个单词,用下划线隔开

    • 私有函数在函数前加一个下划线_

  • 变量

    • 变量名尽量小写, 如有多个单词,用下划线隔开

    • 常量采用全大写,如有多个单词,使用下划线隔开

保留字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', '

打包程序

安装

pip install pyinstaller

检测是否安装成功

pyinstaller --version

命令

  • pyinstaller : 打包可执行文件的主要命令,详细用法下面会介绍。

  • pyi-archive_viewer : 查看可执行包里面的文件列表。

  • pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)

  • ...

安装

pyinstaller -F xx.py
img

然后点击 ,往下滑动,出现以下界面

image-20200909234112012

这里有很多版本的,在windows中安装可以选择和 分别是对应64位的windows和32位的windows,选择适合的版本进行下载,下载完后,双击安装python.exe,出现以下界面

img
img
img
img
img
img
img
img
img
img
img
img
img
img

电脑是64位的,安装

电脑是32位的,安装

进入

img
img
image-20200909073511834
img
img
img
image-20200909234144187
img
img
img
image-20200909234206816
img
img
img
img
img
img
img
img
img
img
img

image-20200909075045534
img
img

:判断一个对象是否是一个已知的类型

Latest Python 3 Release - Python 3.7.0
Windows x86-64 executable installer
Windows x86 executable installer
64-Bit Graphical Installer (631 MB)
32-Bit Graphical Installer (506 MB)
官网
isinstance()函数
image-20200909074942330