# Python 早课1-介绍安装代码规范

By [CryptoMojito](https://paragraph.com/@metamojito) · 2022-11-08

---

1 介绍
----

### 1.1 起源

Python 的创立者， Guido van Rossum，荷兰人。 1982 年， Guido 从阿姆斯特丹大学获得了数学和计算机硕 士学位。在 1989 年 12 月的圣诞节期间，为了打发时间，决定开发一种新的脚本解释程序，作为 ABC 语言的继承。 1991 年 2 月，第一个 Python 编译器诞生。

![ TIOBE 历年排名情况-截至 2022 年 10 月](https://storage.googleapis.com/papyrus_images/6ecb6d54c9f7b89f1a58543bb92acf994513c2949738f3346b1f666c45406cdc.png)

TIOBE 历年排名情况-截至 2022 年 10 月

### 1.2 特点

1）简单易学 2）开源且免费 3）可移植性 4）开发效率非常高

5）高级语言 6）可扩展性 7）可嵌入性 8）面向对象

### 1.3 应用

• 数据科学： 数据科学涉及领域很广，涉及到当前火热的人工智能领域。 Python 的数据科学包括数据分析、数据 可视化、数据挖掘、自然语言处理、机器学习、深度学习等。 典型的 Python 库有： Numpy， Scipy， Pandas， Matplotlib， Seaborn， Scikit-learn， tensorflow 等。

• 云计算： 典型应用—— Python 开发的 OpenStack

• WEB 开发： 众多优秀的 WEB 框架，比如： Django、 flask、 tornado

• 网络爬虫： 使用 Python 可以便捷的编写网络爬虫，从网页上爬取相关信息，常用的 Python 库包括： Requests， BeautifulSoup， Scrapy 等。

• 系统运维： 运维人员必备， slatstack（系统自动化配置和管理工具）， Ansible（自动化运维工具）

• 图形界面开发： wxPython、 PyQT、 TKinter

2\. 安装
------

### 2.1 版本

目前，Python 有两个版本，一个是 2.x 版，一个是 3.x版，这两个版本是不兼容的。议大家最好直接官网下载，随时下载下来的都是最新版本。官网地址：[https://www.python.org/](https://www.python.org/)

### 2.2 windows下安装配置

如果是 windows 系统，下载完后，直接安装，不过这里记得勾上Add Python to PATH，然后点 「Install Now」 即可完成安装。 这里要注意了，记得把「Add Python 3.6 to Path」勾上，勾上之后就不需要自己配置环境变量了，如果没勾上，就要自己手动配置。

### 2.3 Mac下安装配置

MAC 系统一般都自带有 Python2.x 版本的环境，不过现在都不用 2.x 的版本了，所以建议你在 [https://www.python.org/downloads/mac-osx/](https://www.python.org/downloads/mac-osx/) 上下载最新版安装。

接着需要配置环境变量(新版本不一定需要)：

1.  先查看当前环境变量：`echo $PATH`
    
2.  然后打开 ~/.bash\_profile(没有请新建): `vi ~/.bash_profile`
    
3.  我装的是 Python3.9，Python 执行路径为：/Library/Frameworks/Python. Framework/Versions/3.9/bin 。于是写入: `export PATH="/Library/Frameworks/Python. Framework/Versions/3.9/bin:${PATH}"`
    
4.  最后保存退出，激活运行一下文件：`source ~/.bash_profile`
    

### 2.4 推荐方式：安装 Anaconda

对于想用python来进行数序分析、数据挖掘、机器学习等，此种方法会带来很多便捷性。 安装最新版的 Anaconda 可以去官网（[www.anaconda.com](http://www.anaconda.com)）下载，安装完成后，在系统命令行中输入 conda info ，查看 Anaconda 安装的版本信息，以及对应的 Python 版本信息。

打开anaconda后可以配置工作环境，使用juptyer notebook等工具。

### 2.5 推荐IDE: VS Code

1.  VS code安装 在微软官方网站： [https://code.visualstudio.com/](https://code.visualstudio.com/) 提供免费下载， VS Code 支持 Windows , Linux , Mac OS 三种操作系统，建议去官方下载
    

2）在终端运行程序 在没有安装其他 Python 插件的情况下，可以在 VS Code 中通过使用终端（Terminal）直接运行 python 代码，使用这种方式，可以省去配置过程。在 VS Code 菜单栏选择 “view - Terminal” （中文菜单：查看—终端），或者直接快捷键「Ctrl + ‘ 」打开终端， 会在下方产生一个 CMD 控制台。

1.  Python插件 在 VS Code 中配置 Python 环境，第一个要安装的插件，就是 Python 插件。Python 插件的全称是 Python extension for Visual Studio Code，它是一个 Visual Studio Code扩展，具有对 Python 语言的丰富支持（对于该语言的所有受支持版本： > = 3.6），包括诸如 IntelliSense， linting， 调试，代码导航，代码格式， Jupyter Notebook 支持，重构，变量之类的功能资源管理器，测试资源管理器，代码段 等等！
    

![安装python插件](https://storage.googleapis.com/papyrus_images/073e9d8fa8a4a422a3dab8e0170c79da1e9b390c0ee3c66c383a5cbd93fe6f04.png)

安装python插件

1.  代码补齐插件Pylance Pylance 是微软推出的一个快速而且功能丰富的 Python 语言扩展。 Pylance 于 2020 年 7 月发布，目前在 VS Code 市场中，安装量已有 60 多万，足见其关注度。
    

![插件Pylance](https://storage.googleapis.com/papyrus_images/6d2db2caeccbf4d20478164b707b5f087583149b4e2f5c8646aae3ad3d2bc839.png)

插件Pylance

1.  自动格式化代码yapf Yapf 是谷歌开源的一个用于格式化 Python 代码的工具，可以一键美化代码。支持两种规范： PEP8 和 Google Style 。
    

在 VS Code 中使用 yapf 需要先安装该工具，步骤如下： step 1: 打开终端, 输入 “pip install yapf”, 安装 yapf step 2: 在设置中设置使用 yapf，具体设置过程如下：      在 VS Code 左下角点击设置按钮，选择 “Settings”

![](https://storage.googleapis.com/papyrus_images/b1eb95e5cb9ec650feec2097500986550d46b9c6ef4ddbb2dc72723326da7c27.png)

在下面界面的右上角点击箭头所示，转到 settings.json

![](https://storage.googleapis.com/papyrus_images/801b43049e201889580230261fe92f80d4f8838cf76e537eac3c30416468e391.png)

在 settings.json 里进行设置 “python.formatting.provider”: “yapf”

![](https://storage.googleapis.com/papyrus_images/a088734d72d6c2032012152b8494dad42c4804a0c725937350476bc1ddd9d227.png)

step 3: 完成上述设置后，就可以对代码格式进行自动格式化了，快捷键是 Alt+Shift+F（Mac上是Option + Shift + F） 快捷键按好后提示安装yapf：/usr/local/bin/python3 -m pip install -U yapf

1.  Jupyter Notebook 支持 众所周知， python 代码，除了通常使用的 .py 文件外，对于数据科学而言, Jupyter Notebook 也是大家的重要选项. 因此， VS Code 中也提供了 Jupyter Notebook 的支持插件，在 VS Code 扩展市场中的名称是 Jupyter， 如下：
    

![](https://storage.googleapis.com/papyrus_images/202206065f3417e166c93f7c8e19eb2d65c309d9e8728a8581058bb1d944bd2e.png)

3\. 代码规范
--------

### 3.1 编码

*   如无特殊情况, 文件一律使用 UTF-8 编码
    
*   如无特殊情况, 文件头部必须加入`#-*-coding:utf-8-*-`标识
    

### 3.2 代码格式

*   统一使用 4 个空格进行缩进
    
*   每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ，但最长不得超过 120)
    
*   自然语言使用双引号，机器标示使用单引号，_文档字符串 (docstring)_ 使用三个双引号，因此 **代码里** 多数应该使用 **单引号**
    
*   模块级函数和类定义之间空两行；类成员函数之间空一行；
    

### 3.3 import语句

*   import 语句应该分行书写
    
*   import语句应该使用 **absolute** import
    
*   import语句应该放在文件头部，置于模块说明及docstring之后，于全局变量之前
    
*   导入其他模块的类定义时，可以使用相对导入
    
*   如果发生命名冲突，则可使用命名空间
    

### 3.4 空格

*   在二元运算符两边各空一格`[=,-,+=,==,>,in,is not, and]`
    
*   函数的参数列表中，`,`之后要有空格
    
*   函数的参数列表中，默认值等号两边不要添加空格
    
*   左括号之后，右括号之前不要加多余的空格
    
*   字典对象的左括号之前不要多余的空格
    
*   不要为对齐赋值语句而使用的额外空格
    

### 3.5 换行

*   Python 支持括号内的换行。这时有两种情况，1）第二行缩进到括号的起始处； 2）第二行缩进 4 个空格，适用于起始括号就换行的情形
    
*   使用反斜杠`\`换行，二元运算符`+` `.`等应出现在行末；长字符串也可以用此法换行
    
*   禁止复合语句，即一行中包含多个语句
    
*   `if/for/while`一定要换行
    

### 3.6 docstring

*   所有的公共模块、函数、类、方法，都应该写 docstring 。私有方法不一定需要，但应该在 def 后提供一个块注释来说明
    
*   docstring 的结束"""应该独占一行，除非此 docstring 只有一行
    

### 3.7 注释

*   块注释：“#”号后空一格，段落件用空行分开（同样需要“#”号）
    
*   行注释：至少使用两个空格和语句分开，注意不要使用无意义的注释
    
*   在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释
    
*   比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性
    

![多个等号隔开，醒目注释](https://storage.googleapis.com/papyrus_images/e94bc93d1d382b0d27329ebf7838086cdc0442eb3bdf36b10e7d0def3c91ef67.png)

多个等号隔开，醒目注释

*   文档注释（Docstring）：作为文档的Docstring一般出现在模块头部、函数和类的头部，这样在python中可以通过对象的\__doc_\_对象获取文档. 编辑器和IDE也可以根据Docstring给出自动提示； docstring 的结束"""应该独占一行，除非此 docstring 只有一行； 对函数参数、返回值等的说明采用numpy标准, 如下所示：
    

![函数docstring示例](https://storage.googleapis.com/papyrus_images/768eb7e28f78672072ee166abbdb6a8c19e06b4a9e43db2a8cabfbe19ea24108.png)

函数docstring示例

### 3.8 命名规范

*   模块尽量使用小写命名，首字母保持小写，尽量不要用下划线(除非多个单词，且数量不多的情况)
    
*   类名使用驼峰(CamelCase)命名风格，首字母大写，私有类可用一个下划线开头； 将相关的类和顶级函数放在同一个模块里
    
*   函数名一律小写，如有多个单词，用下划线隔开； 私有函数在函数前加一个下划线\_
    
*   变量名尽量小写, 如有多个单词，用下划线隔开
    
*   常量采用全大写，如有多个单词，使用下划线隔开

---

*Originally published on [CryptoMojito](https://paragraph.com/@metamojito/python-1)*
