ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-02-20 20:02:14  阅读:273  来源: 互联网

标签:编码 缩进 06 name 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,数字不能作为变量名开头

标签:编码,缩进,06,name,Python,代码,注释,入门篇
来源: https://blog.csdn.net/weixin_42250835/article/details/123031042

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有