1.配置环境

配置环境

工欲善其事,必先利其器

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

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

环境搭建

在Windows下安装Python

安装python有两种方式:

  • 一种通过Python安装包安装
  • 另一种通过anaconda安装

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

Python安装包安装

首先进入官网

img

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

img

然后点击 Latest Python 3 Release - Python 3.7.0,往下滑动,出现以下界面

image-20200909234112012

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

img

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

本文选择用户自定义安装

img

img

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

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

img

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

如果出现以下提示

img

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

img

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

img

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

img

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

img

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

img

然后点击确定,就可以了

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

img

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

img

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

img

Anaconda安装

首先进入官网

img

电脑是64位的,安装64-Bit Graphical Installer (631 MB)

电脑是32位的,安装32-Bit Graphical Installer (506 MB)

温馨提示

建议使用anaconda

工欲善其事,必先利其器

安装Pycharm

进入官网

img

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

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

下载过程~

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

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

img

这里采用补丁进行破解

首先点击

image-20200909073511834

进行使用,然后打开应用

img

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

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

pycharm 基本用法

新建项目

File > New Project > Pure Python

img

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

img

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

image-20200909234144187

运行

img

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

img

编码设置

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

img

环境配置

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

image-20200909234206816

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

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

字体

img

Font:字体

Size:字体大小

Pycharm快捷键
作用
ctrl + shift + f10运行
ctrl + /注释
双击 shift 键全局查找
ctrl + P查看函数参数
ctrl + space基本的代码完成
shift + f9调试
shift + enter另起一行
ctrl + D复制
调试

img

或者

img

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

img

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

img

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

img

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

img

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

设置Pycharm背景皮肤

点击Background Image

img

然后选择图片,便可以了

img

安装 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 会出现如下界面

img

温馨提示:

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用法

img

常用魔法函数
魔法函数作用
%%writefile调用外部python脚本
%run调用外部python脚本
%timeit测试单行语句的执行时间
%%timeit测试整个单元中代码的执行时间
% matplotlib inline显示matplotlib包生成的图形
%%writefile写入文件
%pdb调试程序
%pwd查看当前工作目录
%ls查看目录文件列表
%reset清除全部变量
%who查看所有全局变量的名称,若给定类型参数,只返回该类型的变量 列表
%whos显示所有的全局变量名称、类型、值/信息
%xmode Plain设置为当异常发生时只展示简单的异常信息
%xmode Verbose设置为当异常发生时展示详细的异常信息
%debugbug调试,输入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}
    

    image-20200909074942330

  • 编译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} $$

总结
  • 命令

    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}$

数学符号表

image-20200909075045534

如何在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轴坐标描述

img

虚拟环境

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

  • 搭建独立的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>

img

启动虚拟环境

输入如下命令进行命令

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,变量值:"自定义的路径"

img

创建环境变量命令:
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值