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 程序由多个程序段构成,可以使用空行将程序段分开,从而提高程序代码的可读性。

# 首先定义变量 name
name = '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 t a b l e , 该 命 名 包 含 了 字 符 table,该命名包含了字符 table,该命名包含了字符
  • ab/c,该命名包含了字符/且无任何意义
  • 01class_name,数字不能作为变量名开头
上一篇:JavaScript-Draggable阻止了触摸事件


下一篇:C-06\数组