配置环境
工欲善其事,必先利其器
在开始工作之前,首先准备了解一下基本的知识点
只有把基础打好,才能够冲的更远
环境搭建
在Windows下安装Python
安装python有两种方式:
- 一种通过Python安装包安装
- 另一种通过anaconda安装
接下来介绍如何安装两种方式的安装方法:
Python安装包安装
首先进入官网
然后点击Downloads > Windows,会出现如何界面
然后点击 Latest Python 3 Release - Python 3.7.0,往下滑动,出现以下界面
这里有很多版本的,在windows中安装可以选择Windows x86-64 executable installer和Windows x86 executable installer 分别是对应64位的windows和32位的windows,选择适合的版本进行下载,下载完后,双击安装python.exe,出现以下界面
第一个是默认安装,第二个是用户自定义安装,最下方的复选框,勾选后,表示python路径自动添加到环境变量中
本文选择用户自定义安装
然后点击安装,安装完后,出现successful,就表示安装成功了
现在测试,是否安装成功了,按下win+r,并输入cmd,进入控制平台,在命令框下输入python
出现以上类似内容,就证明安装成功了
如果出现以下提示
代表环境路径,没有配置好,需要将python.exe所在的python路径添加到环境变量中,
首先右键点击此电脑,选中属性,出现如下界面
选中高级系统设置,然后可以看到有环境变量的选项,点击进去,出现如下视图
选中系统变量下的Path选项,然后,点击编辑,然后找到python.exe的所在路径
粘贴复制到刚才编辑变量处,点击新建
然后点击确定,就可以了
有可能自己的电脑下装了很多不同版本的python,为了区别开来,可以在python目录,将python.exe,复制粘贴并命名为新的名字,作为原来的python.exe的代替
测试一下,在命令框中输入python36
另外还需要将python下的Scripts目录添加到环境变量中
Anaconda安装
首先进入官网
电脑是64位的,安装64-Bit Graphical Installer (631 MB)
电脑是32位的,安装32-Bit Graphical Installer (506 MB)
温馨提示
建议使用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文件
相关资源下载
下载相关资源即可生成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} $$
如下: $$ y^{2x} $$
上标
示例:
$$x^2$$
如下: $$x^2$$
$$ ex^{2x} $$
下标
-
第一种情况 示例:
$$x_i$$
如下: $$x_i$$
-
第二种情况 示例:
$$_{10}C_5$$
如下: $$_{10}C_5$$
-
第三种情况 示例:
$$\underset{k}{argmax}$$
如下: $$\underset{k}{argmax}$$
平方根
示例:
$$ \sqrt{2\pi} $$
如下: $$ \sqrt{2\pi} $$
符号
-
希腊字母
\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 $$
-
关系运算
\leq, \geq, \approx, \neq
如下: $$ \leq, \geq, \approx, \neq $$
-
3点符号
\cdots, \ldots, \ddots
如下: $$ \cdots, \ldots, \ddots $$
-
其他的变量符
\infty, \nabla, \partial
如下: $$ \infty, \nabla, \partial $$
口音
- 在符号上面加个帽子:
\hat x
,显示为
$$\hat x$$
如果在多个字符上加帽子,可以使用\widehat ,如 ```widehat{abs} ```显示为
$$widehat{abs}$$
-
为了显示平均数,通常需要在变量上面添加一条线,通过
\bar x
,显示为$$ \bar x$$
如果是多个字符,可以使用 \overline{abs},显示为 $$ \overline{abs}$$
-
导数通过点表示,如 \dot x 和 \ddot x ,显示为 $$ \dot x 和 \ddot x$$
-
箭头为 \vec{x}, \overrightarrow{AB} ,显示为 $$\vec{x}, \overrightarrow{AB}$$
括号
-
圆括号
(\frac{dx}{dy})^{\frac{1}{3}}
如下: $$ (\frac{dx}{dy})^{\frac{1}{3}} $$
-
拉伸括号,使用 \left 和 \right
$$z=\left(\frac{dx}{dy}\right)^{1/3}$$
如下: $$z=\left(\frac{dx}{dy}\right)^{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]$$
显示为 $$\left[\begin{matrix}a & b \cr c & d\end{matrix}\right]$$ 或者是:$$\left\lgroup\begin{matrix}a & b \cr c & d\end{matrix}\right\rgroup$$
$$\left\lgroup\begin{matrix}a & b \cr c & d\end{matrix}\right\rgroup$$
字体及其选项
-
非斜体罗马文本
\textrm{abcdefghijklmn123456} 或者 \rm{abcdefghijklmn123456}
如下: $$\textrm{abcdefghijklmn123456} 或者 \rm{abcdefghijklmn123456}$$
-
斜体字母
$$ \mathit{abcdefghijklmn123456} $$
如下: $$ \mathit{abcdefghijklmn123456} $$
-
Sans serif 字体
\mathsf{abcdefghijklmn123456}
如下: $$\mathsf{abcdefghijklmn123456}$$
-
Typerwriter 字体
\mathtt{abcdefghijklmn123456}
如下: $$\mathtt{abcdefghijklmn123456}$$
-
Calligraphic 字体
\mathcal{abcdefghijklmn123456}
如下: $$\mathcal{abcdefghijklmn123456}$$
-
Blackborad bold 字体
\mathbb{abcdefghijklmn123456}
如下: $$\mathbb{abcdefghijklmn123456}$$
-
Boldsymbol 字体加粗
\boldsymbol{A\cdot x}=\lambda\cdot v
如下: $$\boldsymbol{A\cdot x}=\lambda\cdot v$$
空格
-
在LaTeX中,符号之间的空格会被自动移除,所以不能直接写空格
$$ \int f(x) dx $$
如下: $$ \int f(x) dx $$
-
函数和 dx 之间没有空格,你能通过 , 或 : 或 ;添加空格,其空格宽度分别为从小到大
$$\int f(x) ; dx$$
如下: $$\int f(x) ; dx$$
转义字符
如果你需要使用特殊的字符,比如 { 或 _ ,你必须通过反斜杠进行转义,例如 { ,_ ,$ 分别表示 { 、 _ 、 $ ,\ 的转义为 \\
等式对齐
-
通过 \ 断开两个或多个等式,可实现等式中部对齐
$$ a_1=b_1+c_1 \\ a_2=b_2+c_2+d_2 \\ a_3=b_3+c_3 $$
如下: $$ a_1=b_1+c_1 \ a_2=b_2+c_2+d_2 \ a_3=b_3+c_3 $$
-
左对齐
$$ \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)=\begin{cases} 1,&x>0 \ 0,&x=0 \cr -1,&x<0 \end{cases} $$
总结
-
命令
-
指数和下标可以用^和_后,跟相应字符实现。例如``$a^3$ , $a_3$`表示
$a^3$ , $a_3$
-
平方根的为\sqrt, n次方根为\sqrt[n]。例如
$\sqrt{a} \sqrt[3]{a}$
$\sqrt{a} 、 \sqrt[3]{a}$
-
命令 \overline 和 \underline 表示表达式上的上、下坊给出以水平大括号。例如:
$\overline{m+n}$
表示$\overline{m+n}$
$\underline{m+n}$ 表示
$\underline{m+n}$
-
命令 \overbrace 和 \underbrace 在表达式的上、下方给出一水平的大括号,例如
$\underbrace{a+b+\cdots+j}_{10}$
表示$\underbrace{a+b+\cdots+j}_{10}$
-
向量(Vector)通常用于上方有小箭头的变量表示,可以有\vec得到,例如
$\vec a$
表示$\vec a$
$$\overrightarrow{AB}$ 、\overleftarrow{AB}$ 表示
$\overrightarrow{AB}$ 、$\overleftarrow{AB}$
-
分数(fraction) 使用 \frac{...}{...} 排版,一般来说,1/2 这种形式更受欢迎,以为对于少量的分式,它看起来更好些。 $\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ 表示
$\frac{-b\pm\sqrt{b^2-4ac}}{2a}$
-
积分运算符(integral operator) 用 \int 来生成,例如
$\int_{0}^{\pi}{\tan x}$
表示$\int_{0}^{\pi}{\tan x}$
-
求和运算符(sum operator) 用 \sum 来生成,例如
$\sum_{i=0}^{n}{i}$
表示$\sum_{i=0}^{n}{i}$
-
乘积运算符(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'
isinstance()函数:判断一个对象是否是一个已知的类型
创建对象
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:以什么字符作为结尾,默认
\n
- 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