python 梳理:安装并开始使用

python 安装篇

  • 一、安装 Anaconda
    • 1 Anaconda 是什么?
    • 2 为什么使用 Anaconda ?
    • 3 安装 Anaconda
      • 3.1 下载 Anaconda
      • 3.2 安装Anaconda
      • 3.3 使用Anaconda
  • 二、开始使用
    • 1 Python 的打开方式
    • 2 编辑器的选择
      • 2.1 Pycharm
      • 2.2 Jupyter notebook
      • 2.3 Spyder
  • 三、Jupyter notebook 的使用
    • 1 高效使用帮助
      • 1.1 Python 的使用帮助
      • 1.2 Jupyter notebook 的使用帮助
    • 2 Markdown
      • 2.1 Markdown 编辑文档
      • 2.2 Markdown 中的 LaTex
          • 希腊字母
          • 矩阵
    • 3 魔术方法的使用
      • 3.1 执行效率对比
      • 3.2 其他语言的嵌入使用
      • 3.3 系统命令执行
      • 3.4 数据可视化
      • 3.5 新建文件
    • 4 功能扩展
          • Jupyter notebook功能扩展Nbextensions

ipynb 文件地址:安装并开始使用

一、安装 Anaconda

1 Anaconda 是什么?

Anaconda 是python的一个发行版,内置了很多其他工具,也免去了这些工具单独安装和配置的麻烦。

简单说就是一个 python语言的使用平台(当然也包括其他语言),不仅包含了python这个编程语言还有所需要的 __集成环境__和python编程所需要的一些 工具(如编辑器),还包含了一些常用的 (比如科学计算和数据处理的scipy/numpy/pandas,机器学习sklearn等)

2 为什么使用 Anaconda ?

就因为 Anaconda 包含python的集成环境和工具以及常用的包,所以下载一键安装后就可以直接使用,跳过了环境配置、编辑器下载、包的下载等步骤,减少安装配置的时间成本!

3 安装 Anaconda

3.1 下载 Anaconda

官网地址:https://www.anaconda.com

官网的下载一般都会非常慢,可以使用镜像地址:Anaconda installer archive 或者清华镜像下载

python 梳理:安装并开始使用_第1张图片

进入官网地址,点击右上角的下载按钮,下载软件

python 梳理:安装并开始使用_第2张图片

3.2 安装Anaconda

双击下载exe文件,进入安装环节

一直点击next,如果想修改文件目录就修改一下,注意要d点击 加入环境变量(Advanced options)

python 梳理:安装并开始使用_第3张图片

点击 install,等待安装完毕!

3.3 使用Anaconda

python 梳理:安装并开始使用_第4张图片

查看是否安装完成,主要包含这几种工具:

  • Anaconda Navigator 是主程序,打开后就是Anaconda的界面,可以从里面启动其他工具或安装包
  • Anoconda Powershell Prompt 和 Anaconda Prompt 其实就是Anaconda版的命令行窗口,可以进行pip install 、conda install 等包的安装或者进入python交互界面
  • Jupyter Notebook 一种以网页形式打开,并且可以在网页中编写和运行代码的应用程序(我们现在的文件就是一个notebook)
  • Spyder 就是python的一个集成开发环境(IDE),特点是模仿了MATLAB的工作空间,可以直接对数组进行操作
    python 梳理:安装并开始使用_第5张图片python 梳理:安装并开始使用_第6张图片python 梳理:安装并开始使用_第7张图片python 梳理:安装并开始使用_第8张图片
    安装完成后就可以使用了,一些配置项(环境变量的设置)在Anaconda安装的时候已经自动设置好了,现在只需要打开编辑器或者进入交互界面就可以使用了

二、开始使用

1 Python 的打开方式

交互界面

点击打开 Anoconda Powershell Prompt 或 Anaconda或者启动windows自带的命令行窗口,输入 __python__即可进入python的交互界面

python 梳理:安装并开始使用_第9张图片

编辑器

真实情况下很少在“黑窗”里写代码进行交互,更多是在编辑器中进行交互调试,比如打开jupyter notebook或者spyder进行编辑和交互调试

python 梳理:安装并开始使用_第10张图片

2 编辑器的选择

  • 文本编辑器:编写普通文字的软件,与文档编辑器(word之类)不同的它主要用于编写和打开文本文件(CSV文件、各种语言的代码文件)
  • IDE:Integrated Development Environment 集成开发环境,是提供了程序开发所需要的环境的软件,文本编辑器就是它其中一项功能,其他功能包括编译、调试、用户图形界面等

常见的文本编辑器有记事本、notebook++、UE、sublime等,常见的用于python的IDE有pycharm、spyder等

2.1 Pycharm

Pycharm 带有一整套可以提升python开发效率的工具,包括语法高亮、自动补全代码、调试、代码跳转等,适合做一些项目性质的开发,比如web开发,以一个项目为单位,可以同时编写html、css、js、py并进行调试

python 梳理:安装并开始使用_第11张图片

2.2 Jupyter notebook

Jupyter notebook 是一个交互式笔记本,可以编写代码、数学方程式、数据可视化、markdown等并且混用,支持多种编程语言(python、R、matlab等),现在很多的资料都是以jupyter notebook格式传播的

点击打开jupyter notebook 或者再cmd中输入 jupyter notebook 都可以打开软件

2.3 Spyder

Spyder 是一款简单的IDE,不仅有matlab般的工作空间可以对数据变量进行操作,也可以如命令行一般进行交互操作

对于数据分析使用jupyter notebook或者spyder就足够了,如果需要增加一些文档或数学公式等说明建议使用jupyter notebook,如果是需要模块化运行的建议使用spyder

三、Jupyter notebook 的使用

在jupyter notebook和spyder 中有很多方便使用的快捷方法,简称魔术方法( 在spyder的交互中也同样可以使用)

1 高效使用帮助

无论是什么软件或者编程语言,好的“帮助”可以帮助使用者快速了解相关用法和内容,减少学习成本,提升使用效率

1.1 Python 的使用帮助

  • 官网文档
  • dir与tab的使用
  • help, ?,shift+tab的使用

1.2 Jupyter notebook 的使用帮助

jupyter notebook 快捷键的帮助:ESC+H 就可显示出快捷键查看快捷键的使用方式和功能

jupyter notebook 魔术方法的帮助:%magic 列出所有的魔术方法和详细说明, %lsmagic 列出所有的魔术方法名称

%lsmagic
    Available line magics:
    %alias  %alias_magic  %autoawait  %autocall  %automagic  %autosave  %bookmark  %cd  %clear  %cls  %colors  %conda  %config  %connect_info  %copy  %ddir  %debug  %dhist  %dirs  %doctest_mode  %echo  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %macro  %magic  %matplotlib  %mkdir  %more  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %ren  %rep  %rerun  %reset  %reset_selective  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

    Available cell magics:
    %%!  %%HTML  %%SVG  %%bash  %%capture  %%cmd  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%markdown  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile
    
    Automagic is ON, % prefix IS NOT needed for line magics.

2 Markdown

jupyter notebook 中Cell有两种:python和markdown

2.1 Markdown 编辑文档

# 标题1
## 标题2
### 标题3
__加粗__
> 引用
- 列表
`print("这是一段Python代码)`
[这是一个链接](www.baidu.com)

|  表头   | 表头  |
|  ----  | ----  |
| 单元格  | 单元格 |
| 单元格  | 单元格 |

2.2 Markdown 中的 LaTex

LaTex 的实现原理跟HTML等其他语言的嵌入类似,Notebook中的Markdown格式解释器中内置了LaTex渲染器,可以将内容进行渲染并达到效果

概率密度函数

f ( x ) = 1 δ 2 π e − ( x − μ ) 2 2 δ 2 f(x) = \frac{1} { \delta \sqrt{2 \pi}} e^ {-\frac{(x-\mu) ^2}{2 \delta ^2}} f(x)=δ2π 1e2δ2(xμ)2

希腊字母
希腊字母小写/大写 LaTeX形式 希腊字母小写/大写 LaTeX形式
α A \alpha A μ N \mu N
β B \beta B ξ Ξ \xi \Xi
γ Γ \gamma \Gamma o O o O
δ Δ \delta \ Delta π Π \pi \Pi
ϵ ε E \epsilon \varepsilon E ρ ϱ P \rho \varrho P
ζ Z \zeta Z σ Σ \sigma \Sigma
η H \eta H τ T \tau T
θ ϑ Θ \theta \vartheta \Theta υ Υ \upsilon \Upsilon
ι I \iota I ϕ φ Φ \phi \varphi \Phi
κ K \kappa K χ X \chi X
λ Λ \lambda \Lambda ψ Ψ \psi \Psi
矩阵

A m , n = ( a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a m , 1 a m , 2 ⋯ a m , n ) A_{m,n} = \begin{pmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{pmatrix} Am,n=a1,1a2,1am,1a1,2a2,2am,2a1,na2,nam,n

具体使用是在Markdown中使用$开头和结尾来包括需要渲染的内容

3 魔术方法的使用

3.1 执行效率对比

%timeit [i for i in range(1000)]
35.4 µs ± 969 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
[i for i in range(1000)]
36.4 µs ± 1.51 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

3.2 其他语言的嵌入使用

%%html
<div>
    <p> 这是一个网页</p>
    <strong>下面是一个表格</strong>
    <table>
    <tr>
        <th>表头1</th>
        <th>表头2</th>
    </tr>
    <tr>
        <td>11</td>
        <td>125</td>
    </tr>
</div>
%%html
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
<marquee style='width: 100%; color: red;' onMouseOut="this.start()" onMouseOver="this.stop()"><b>到此一游!!!</b></marquee>
<marquee id="affiche" align="left" behavior="scroll" bgcolor="#FF0000" direction="up" height="300" width="200" hspace="50" vspace="20" loop="-1" scrollamount="10" scrolldelay="100" onMouseOut="this.start()" onMouseOver="this.stop()">
我是一个泡泡
</marquee>
%%javascript
alert("这是 javascript 的一个弹窗")
%%SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 400" width="500" height="200">
  <rect x="80" y="60" width="250" height="250" rx="20" style="fill:red; stroke:black; fill-opacity:0.7" />
  <rect x="280" y="110" width="250" height="250" rx="40" style="fill:blue; stroke:black; fill-opacity:0.5;" />
</svg>

3.3 系统命令执行

%%system
dir
[' 驱动器 D 中的卷是 软件安装',
 ' 卷的序列号是 6642-B972',
 '',
省略
 '              17 个文件      2,446,854 字节',
 '               3 个目录 49,850,212,352 可用字节']
%%system
ipconfig
['',
 'Windows IP 配置',
 '',
 '',
 '以太网适配器 以太网 2:',
 '',
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ',
 '',
 '以太网适配器 以太网:',
 '',
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ',
 '',
 '以太网适配器 以太网 3:',
 '',
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ',
 '',
 '以太网适配器 以太网 4:',
 '',
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ',
 '',
 '无线局域网适配器 本地连接* 2:',
 '',
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ',
 '',
 '无线局域网适配器 WLAN:',
省略
 '   媒体状态  . . . . . . . . . . . . : 媒体已断开连接',
 '   连接特定的 DNS 后缀 . . . . . . . : ']
!ipconfig
Windows IP 配置


以太网适配器 以太网 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

以太网适配器 以太网:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

以太网适配器 以太网 3:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

以太网适配器 以太网 4:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

无线局域网适配器 WLAN:

 省略

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

3.4 数据可视化

%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x = [i for i in range(100)]
y = 100+ np.random.randn(100)
plt.plot(x, y)
plt.fill_between(x, y, np.trunc(y.min()), facecolor='g', alpha=0.6)

3.5 新建文件

%%writefile test.txt
这是一个测试文件
第二行
%%writefile test.py
while True:
    user = input("用户名:")
    pd = input("密码:")
    print("请确认您输入的用户名:", user)
    yn = input("请确认(y|n):")
    if yn == 'y':
        break
print("您此次登录的用户名是:", user)
!python test.py
%%system
python test.py
['用户名:Traceback (most recent call last):',
 '  File "test.py", line 2, in ',
 '    user = input("用户名:")',
 'EOFError: EOF when reading a line']
%run test.py
用户名:wfxu
密码:`11
请确认您输入的用户名: wfxu
请确认(y|n):y
您此次登录的用户名是: wfxu

只有 %run 可以运行这个py文件,有可能notebook渲染器不支持input函数

%%system?

4 功能扩展

Jupyter notebook功能扩展Nbextensions

python -m pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user --skip-running-check

你可能感兴趣的:(Python)