Cover photo

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

1 介绍

1.1 起源

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

 TIOBE 历年排名情况-截至 2022 年 10 月
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/

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/ 上下载最新版安装。

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

  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)下载,安装完成后,在系统命令行中输入 conda info ,查看 Anaconda 安装的版本信息,以及对应的 Python 版本信息。

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

2.5 推荐IDE: VS Code

  1. VS code安装 在微软官方网站: 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插件
安装python插件
  1. 代码补齐插件Pylance Pylance 是微软推出的一个快速而且功能丰富的 Python 语言扩展。 Pylance 于 2020 年 7 月发布,目前在 VS Code 市场中,安装量已有 60 多万,足见其关注度。

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

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

post image

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

post image

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

post image

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, 如下:

post image

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 注释

  • 块注释:“#”号后空一格,段落件用空行分开(同样需要“#”号)

  • 行注释:至少使用两个空格和语句分开,注意不要使用无意义的注释

  • 在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释

  • 比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性

多个等号隔开,醒目注释
多个等号隔开,醒目注释
  • 文档注释(Docstring):作为文档的Docstring一般出现在模块头部、函数和类的头部,这样在python中可以通过对象的_doc_对象获取文档. 编辑器和IDE也可以根据Docstring给出自动提示; docstring 的结束"""应该独占一行,除非此 docstring 只有一行; 对函数参数、返回值等的说明采用numpy标准, 如下所示:

函数docstring示例
函数docstring示例

3.8 命名规范

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

  • 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头; 将相关的类和顶级函数放在同一个模块里

  • 函数名一律小写,如有多个单词,用下划线隔开; 私有函数在函数前加一个下划线_

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

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