- 注释
- 编码规范
- 1.编写规则
- 每个import语句只导入一个模块,尽量避免一次性导入多个模块.
- 不要在行尾添加分号” ; “, 也不要使用分号将两条命令放在一行.
- 建议每行不超过80个字符,如果超过,建议使用小括号” ( ) “, 将多行内容隐式的连接起来,而避免使用反斜杠 “ \ “进行链接。例如,如果一个字符串文本不能在一行上完全显示,那么可以使用小括号” ( ) “ 将其分行显示,代码如下:
- 使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空刘航,而方法之间空一行。另外,在用于分割某些功能的位置也可以空一行。
- 通常情况下,运算符两侧、函数参数之间、 “ , “ 两侧建议使用空格进行分割。
- 应该避免在循环中使用” + “ 和 “ += “运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐讲每个字符串加入列表,然后在循环结束后使用join()方法连接列表。
- 适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。
- 1.编写规则
- 2.命名规范
- 模块名尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母。例如,game_main、 game_register、 bmiexponent 都是推使用的模块名称。
- 包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如, com.mingrisoft 、 com.mr 、 com.mr.book 都是推荐使用的包名,而com_mingrisoft就是不推荐的。
- 类名才用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。
- 模块内部的类采用下划线” _ “ + Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。
- 函数、类属性和方法的命名规则和模块类似,也是全部使用小写字母,多个字母间用下划线” _ “分割。
- 常量命名时全部使用大写字母,可以使用下划线。
- 使用单下划线” _ “开头的模块变量或者函数是受保护的,在使用form xxx import * 语句从模块中导入时这些变量或者函数不能被导入。
- 使用双下划线” __ “开头的实力变量或者方法是类私有的。
注释
1.单行注释
在Python中,使用” # “ 作为单行注释的符号。从符号 “ # “ 开始直到换行位置, “ # “ 后面所有的内容都作为注释的内容,并被Python编译器忽略。
语法如下:# 注释内容
单行注释可以放在要注释代码的前一行,也可以放在要注释代码的右侧。例如,下面的两种注释形式都是正确的。
第一种形式:
# 要求输入身高,单位为m(米), 如1.70height = float(input('请输入您的身高:'))
第二种形式:
height = float(input('请输入您的身高:')) # 要求输入身高,单位为m(米), 如1.70
上面两种形式的运行结果是相同的。
说明:在添加注释时,一定要有意义,即注释能充分解释代码的功能以及用途。
冗余注释案例:
bmi = weight / (height * height) # Magic, 请勿改动
清晰注释案例:
bmi = weight / (height * height) # 用于计算BMI的指数,公式为“体重/身高的平方”
2.多行注释
多行注释通常用来为Python文件、 模块、类或者函数等添加版权、功能等信息。例如,下面的代码将使用多行注释为demo.py添加版权,功能及修改日志等信息:
"""@版权所有:纯二工作室@文件名:demo.py@文件功能描述:根据身高、体重计算BMI指数@创建人:纯二@修改标识:2020年11月15日@修改描述:增加根据BMI指数判断身材是否合理功能代码@修改日期:2020年11月15日"""
3.中文编码声明
在编码声明中,编码为文件所使用的字符编码类型,如果采用UTF-8编码,则设置为utf-8,日股采用GBK编码,则设置为gbk或者cp936
例如,指定编码为UTF-8,以下几种都可以
# coding=utf-8# -*- coding:utf-8 -*-# coding:utf-8
说明:在上面的代码中,” -*- “ 没有特殊作用,只是为了美观才加上的,所以第二行的代码也可以用第三行的代替。
编码规范
不太好编码规范:
# 输入身高和体重height=float(input('请输入您的身高:'))weight = float(input('请输入您的体重:'))bmi= weight/(height * height)# 计算BMI指数print('您的BMI指数为:' + str(bmi)) # 输出BMI指数# 判断身材是否合理if bmi < 18.5:print('体重过轻')if bmi >= 18.5 and bmi < 24.9:print('正常范围,注意保持')if bmi >= 24.9 and bmi < 29.9:print('体重过重')if bmi >= 29.9:print('肥胖')
优秀的编码规范:
"""@功能:根据身高、体重计算BMI指数@author:无语@create:2017-10-31"""# 输入身高和体重height = float(input('请输入您的身高:'))weight = float(input('请输入您的体重:'))bmi = weight/(height * height) # 计算BMI指数print('您的BMI指数为:' + str(bmi)) # 输出BMI指数# 判断身材是否合理if bmi < 18.5:print('体重过轻')if bmi >= 18.5 and bmi < 24.9:print('正常范围,注意保持')if bmi >= 24.9 and bmi < 29.9:print('体重过重')if bmi >= 29.9:print('肥胖')
1.编写规则
Python中采用PEP 8作为编码规范,其中PEP 是Python Enhancement Proposal(Python增强建议书)的缩写,而” PEP 8 “中的” 8 “表示版本号。PEP 8是Python代码的样式指南。
下面给出PEP 8编码规范中的一些应该严格遵守的条目。
每个import语句只导入一个模块,尽量避免一次性导入多个模块.
推荐的写法
import sysimport osimport random
不推荐的写法
import sys, os, random
不要在行尾添加分号” ; “, 也不要使用分号将两条命令放在一行.
下面是不规范的写法
height = float(input('请输入您的身高:'));weight = float(input('请输入您的体重:'));
建议每行不超过80个字符,如果超过,建议使用小括号” ( ) “, 将多行内容隐式的连接起来,而避免使用反斜杠 “ \ “进行链接。例如,如果一个字符串文本不能在一行上完全显示,那么可以使用小括号” ( ) “ 将其分行显示,代码如下:
推荐的写法
s = ('我一直认为我是一只蜗牛。我一直在爬,页序还没有爬到金字塔的顶端。''但只要你在爬,就足以给自己留下令生命感动的日子。')
不推荐的写法
s = '我一直认为我是一只蜗牛。我一直在爬,页序还没有爬到金字塔的顶端。\但只要你在爬,就足以给自己留下令生命感动的日子。'
不过以下两种情况除外
- 导入模块的语句过长
- 注释里的URL
使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空刘航,而方法之间空一行。另外,在用于分割某些功能的位置也可以空一行。
通常情况下,运算符两侧、函数参数之间、 “ , “ 两侧建议使用空格进行分割。
应该避免在循环中使用” + “ 和 “ += “运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐讲每个字符串加入列表,然后在循环结束后使用join()方法连接列表。
适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。
说明:在编写Python程序是,建议阉割遵循PEP 8编码规范。完整的Python编码规范请参考PEP 8。2.命名规范
命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。模块名尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母。例如,game_main、 game_register、 bmiexponent 都是推使用的模块名称。
包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如, com.mingrisoft 、 com.mr 、 com.mr.book 都是推荐使用的包名,而com_mingrisoft就是不推荐的。
类名才用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。
模块内部的类采用下划线” _ “ + Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。
函数、类属性和方法的命名规则和模块类似,也是全部使用小写字母,多个字母间用下划线” _ “分割。
常量命名时全部使用大写字母,可以使用下划线。
使用单下划线” _ “开头的模块变量或者函数是受保护的,在使用form xxx import * 语句从模块中导入时这些变量或者函数不能被导入。
使用双下划线” __ “开头的实力变量或者方法是类私有的。
