学习Python第一步,记住这些敲码规范,一周学会无Bug的敲代码
Posted yunyun云芸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Python第一步,记住这些敲码规范,一周学会无Bug的敲代码相关的知识,希望对你有一定的参考价值。
Bug千万条,细心第一条,编码不规范,程序员两行泪!!开车有规章制度,学校有规章制度,编码也有他的规范,想要避免敲代码不出现Bug,就要在基础这方面充实,然后就是细心,今天小编就和你们一起学习,Python编码的那些基础知识。
一、缩进
每一级缩进4个空格。
续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐。当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。
对齐缩进(左右括号对齐)
def long_function_name(var_one, var_two,
var_three, var_four):
print(var_one)
悬挂缩进
def long_function_name(
var_one, var_two,
var_three, var_four):
print(var_one)
层级缩进
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one, var_two, var_three, var_four)
二、行的最大长度
所有行限制的最大字符数为79
没有结构化限制的大块文本(文档字符或者注释),每行的最大字符数限制在72。
with open("file1", "r") as f1, \\
open("file2", "r") as f2:
f2.write(f1.read())
三、空行
顶层函数和类定义,前后用两个空行隔开。
类里面方法定义用一个空行隔开。
class Class01:
pass
class Class02:
def function_01(self):
pass
def function_02(self):
pass
四、命名约定
变量命名
- 永远不要使用字母I (小写的L), O (大写的O), I (大写的I)作为单字符的变量名。
- 在有些字体里面,这些字符无法与数字0和1区分。如果想用I, 可使用L代替。
函数命名
- 函数名应该小写,如果想提高可读性可以用下划线分隔。
- 大小写混合仅在为了兼容原来主要以大小写混合风格的情况下使用,保持向后兼容。
类命名
- 类名一般使用首字母大写的约定。
- 在接口被文档化并且主要被用于调用的情况下,可以使用函数的命名风格代替。
- 注意:对于内置的变量命名有一个单独的约定:大部分内置变量是单个单词(或者两个单词连接在一起),首字母大写的命名法只用于异常名或者内部的常量。
类里面函数和方法参数
- 始终要将self作为实例方法的第一个参数。
- 始终要将cls作为类方法的第一个参数。
- 如果函数的参数名和已有关键字冲突,在最后加大意下划线比缩写或者随意拼写更好。因此class_比clss更好。
五、字符串引号
单引号和双引号字符串是相同的。PEP不会为这个给出建议。选择一条规则并坚持使用下去。当一个字符串中包含单引号或者双引号字符串的时候,使用和最外层不同的符号来避免使用反斜杠,从而提高可读性。
模块和包导入规范
- 命名规范 模块名称要短,使用小写,并避免使用特殊符号, 比如点和问号
- 因此请尽量保持模块名简单,以无需分开单词最佳(不推荐在两个单词之间使用下划线)
模块导入建议
示例 | 结果 |
---|---|
from modu import | * 差, 不清楚具体从模块中导入了哪些内容 |
from modu import sqrt | 稍好 |
import modu | 最佳 , 调用的时候直接使用modu.sqrt能比较清楚的知道当前方法属于哪个模块 |
import os \\n import sys | 推荐 |
import os, sys | 不推荐 |
from subprocess import Popen, PIPE | 也可以 |
六、包
- 任意包含__init__.py文件的目录都被认为是一个python包
- 因为导入包时会首先执行__init__.py文件
- 包中__init__.py文件中__all__变量的作用
- init.py文件中存在全局变量__all__, 通过from xxx import *导入时也只会导入__all__中指定的方法和变量,没有的话默认全部导入。
七、注释
- 与代码相矛盾的注释比没有注释还糟,当代码更改时,优先更新对应的注释!
- 注释应该是完整的句子。如果一个注释是一个短语或者句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!)
- 如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号。
- 在句尾结束的时候应该使用两个空格。
- 在非英语国家的python程序员,请使用英文写注释,除非120%的确信你的代码不会被使用其他语言的人阅读。
块注释
- 块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。块注释的每一行开头使用一个#和一个空格(除非块注释内部缩进文本)
- 块注释内部的段落通常只有一个#的空行分隔
行内注释
- 有节制地使用行内注释
- 行内注释是与代码语句同行的注释。行内注释和代码至少要有两个空格分隔。注释由#和一个空格开始
文档注释
- 要为所有的公共模块,函数,类和方法编写文档说明
- 非公共的方法没有必要,但是应该有一个描述方法具体作用的注释。这个注释应该在def那一行之后
- PEP257描述了写出好的文档注释的相关约定。特别需要注意的是:多行文档注释使用的结尾三引号应该是自成一行
例如:
"""这是注释
注释的具体内筒
"""
对于单行的文档说明,尾部的三引号应该和文档在同一行
Python像是个瑞士军刀,可以敲出很多有用的小工具,随写随用,只要你掌握其中的乐趣,Bug都是小事,小伙伴们,出现问题解决不了可以点击下面有大佬专业解答。
以上是关于学习Python第一步,记住这些敲码规范,一周学会无Bug的敲代码的主要内容,如果未能解决你的问题,请参考以下文章