> 文档中心 > Python零基础入门篇 - 06 - Python初学者需要牢记的几种编码规范

Python零基础入门篇 - 06 - Python初学者需要牢记的几种编码规范


前言
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的养了一只哈士奇)
📑 个人主页:渴望力量的哈士奇主页
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥 如果感觉博主的文章还不错的话,还请不吝👍关注、点赞、收藏三连支持👍一下博主哦
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬

📕系列专栏::
               👍 Python全栈系列 - [更新中]    ➡️➡️➡️ 【 本文在该系列】
               👋 网安之路系列
​                       🍋 网安之路踩坑篇
​                       🍋 网安知识扫盲篇
​                       🍋 Vulhub 漏洞复现篇
​                       🍋 Shell脚本编程篇
​                       🍋 Web攻防篇  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                       🍋 渗透工具使用集锦  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                       🍹 测试神器 - Charles 篇
​                       🍹 测试神器 - Fiddler 篇
​                       🍹 测试神器 - Jmeter 篇
​                       🍹 自动化 - RobotFrameWork 系列
​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
                       🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化
​                🤗 2019年之前学习Python留下的乱七八糟系列

                                                                                  🎉🎉欢迎持续关注🎉🎉

Python零基础入门篇 - 06 - Python初学者需要牢记的几种编码规范

文章目录

    • 头部注释(也叫声明编码格式)
    • 缩进规则
      • 必须使用缩进场景
    • 注释
      • 多行注释
      • 注释可以帮助调试程序
    • 空格的使用
    • 空行规则
    • 模块导入规则
    • 变量命名规范

在 标准、规范、大行其道的今天,任何行业、任何事物、任何职业、任何机器…都有自己的一套标准、规范或者流程。在各种编程语言中同样也存在着一定的规范,那就是编程规范,虽然有的语言中体现的不是很直观,甚至即使不规范也不影响代码、脚本的执行与执行结果的输出。然而一个合理的编程规范在初学者学习编写代码、熟记编码规则对日后的编写规范是影响非巨大的!而已作为当下最流行的编程语言之一的 Python 当然也不例外。

首先我们要知道 Python 采用的是 PEP 8 作为编码规范,其中 PEPPython Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。

下面我们就来学习一下Python的编码规范,让我们的代码更加简洁、美观、漂亮、大方!(关键是看着舒服啊)

头部注释(也叫声明编码格式)

  • 头部注释(声明编码格式)几乎在主流的编程语言脚本中是必需的。

  • 在 Python 中如果没有头部注释,Python解释默认会使用 ASCII 编码格式。这就会造成一个问题,比如我们国内使用的是中文,一旦出现中文字符(中文字符属于 UTF-8 编码格式),Python 解释器就会报错。

  • 为了让 Python 能够按 UTF-8 编码读取,我们通常在文件开头写上这两行:

    # !/usr/bin/env python# -*- coding:utf-8 -*-  或者# coding:utf-8

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,根据usr/bin/env路径去找python的运行程序来运行,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

不过现在一般情况下都只会写一行 "#coding:utf-8"

关于 python 头部注释(声明编码格式)的作用

  • 头部注释并不是为代码而服务的,更多的是被系统或解释器所调用。
  • 告诉系统Python解释器在哪?
  • 脚本的编码格式是什么编码格式?

常用的头部注释

  • 国内常用 # coding:utf-8 :定义 coding 规则告诉系统脚本是何种编码格式
  • 目前很少使用 # !/usr/bin/env python :定义 python 解释器的指定执行路径 [WIN系统不生效]

缩进规则

什么是缩进? —> 在 Python 中,行首的空白区域被称为缩进 。如下:

if 2 > 1:    print('2 > 1 is true')    # 该两行代码的意思为 "如果 2 大于 1 ,则打印输出 '2 > 1 is true' "

在 Python 中,可以使用 TAB 或者空格作为缩进,大部分代码规范建议使用 4 个空格作为缩进。在 Python 自带的集成开发环境 IDLE 中,用户输入 TAB 时,TAB 会被自动转换为 4 个空格。

为什么使用缩进? —> 使用缩进后,可以直观的看到代码的逻辑层次,从而提高代码的可读性。

如果不使用缩进,完成一个程序如下:

if 2 > 1:print('2 > 1 is true')else:print('2 > 1 is false')print('End')

如果使用缩进,完成相同功能的程序如下:

if 2 > 1:    print('2 > 1 is true')else:    print('2 > 1 is false')print('End')

对比这两段程序,可以发现使用缩进后,提高了程序的可读性。在使用缩进的程序中,可以直观的看到代码之间的层次关系.

必须使用缩进场景

Python 语言要求在需要表达代码层次关系的场景中,必须使用缩进。如果不使用缩进,程序运行时则会报告错误。

示例如下:

if 2 > 1:print('2 > 1 is true')# 执行结果如下# >>> print('2 > 1 is true') ^# >>> IndentationError: expected an indented block

注释

在编写 Python 程序时,写程序的人为程序段给出解释或提示,对代码的解释被称为注释。通过在程序代码中添加注释,可以提高程序代码的可读性。

Python 程序由多个程序段构成,可以使用空行将程序段分开,从而提高程序代码的可读性。

# 首先定义变量 namename = 'Neo'# 将变量 name 修改为 'Jack'name = 'Jack'
  • 在第1行和第4行中,以 # 开头的文本为 Python 注释,说明了下一行代码的功能。
  • 在第3行,没有任何代码,是一个空行。
  • 执行该程序时,Python 会忽视注释和空行,不会执行注释和空行。

多行注释

以 # 开头的注释可以注释一行文本,Python 另外提供了注释多行文本的功能。多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来。

示例如下:

'''# 首先定义变量 name# 将变量 name 修改为 'Jack'name = 'Neo'name = 'Jack''''"""# 首先定义变量 name# 将变量 name 修改为 'Jack'name = 'Neo'name = 'Jack'"""

注释可以帮助调试程序

给代码添加说明是注释的基本作用,除此以外它还有另外一个实用的功能,就是用来调试程序。

举个例子,如果你觉得某段代码可能有问题,可以先把这段代码注释起来,让 Python 解释器忽略这段代码,然后再运行。如果程序可以正常执行,则可以说明错误就是由这段代码引起的;反之,如果依然出现相同的错误,则可以说明错误不是由这段代码引起的。

在调试程序的过程中使用注释可以缩小错误所在的范围,提高调试程序的效率。

空格的使用

空格的使用原则如下:

①、在二元运算符的两边各一个格,算术操作符两边的空格可灵活使用,但两侧要保持一致
②、不在逗号、分号、冒号的前面加空格,但可以在它们的后面加空格(行尾的特殊情况除外)
③、函数的参数列表中,逗号后面要有空格
④、函数的参数列表中,默认值等于号左右两边不要添加空格
⑤、左括号之后,右括号之前不要加添加空格
⑥、参数列表, 索引或切片的左括号之前不能加空格

通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。

空行规则

①、编码格式声明、模块导入、常量和全局变量声明、顶级定义和执行代码之间空两行

②、类和顶层函数定义之间空两行;类中的方法定义之间空一行;

③、函数内逻辑无关段落之间空一行;

④、在函数或方法内部,可以在必要的地方空一行以增强节奏感,但应避免连续空行

⑤、其他地方尽量不要再空行。

使用必要的空行可以极大的增加代码的可读性,通常在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行,另外在用于分隔某些功能的位置也可以空一行。

模块导入规则

导入语句应放在文件顶部,位于模块注释和文档字符串之后,模块、全局变量和常量之前。

导入的原则,应该按照从最通用到最不通用的顺序进行排序,分组之间应该空出一行:

  • 标准库导入

  • 第三方库导入

  • 应用程序指定导入

每个 import 语句只导入一个模块,尽量避免一次导入多个模块;如 import test, os, sys ,尽量避免这种方式。

变量命名规范

变量是 Python 程序用来保存计算结果的存储单元,为了方便访问这块存储单元,Python 给这块存储单元命名,该名称即为变量名,在 Python 中通过变量名来访问保存计算结果的存储单元。

Python命名建议遵循的命名规范:

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

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

③、函数名一律小写,如有多个单词,用下划线隔开

④、私有函数可用一个下划线开头

⑤、类名使用驼峰命名法,首字母大写,私有类可用一个下划线开头

⑥、模块尽量使用小写命名,首字母保持小写,能不使用下划线尽量不要用下划线

合法的变量名称举栗如下:

  • name
  • SEX
  • creat_table
  • _drop_user
  • select__mobile,该命名包含了2根下划线
  • __init__,该命名包含了2根下划线
  • OpenLesson,这种驼峰式变量名虽然可以在 Python 中使用,但并不是一个标准方法,所以不建议使用

不合法的变量名称举栗如下:

  • get$table,该命名包含了字符$
  • ab/c,该命名包含了字符/且无任何意义
  • 01class_name,数字不能作为变量名开头