本章节我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍。

1.编写规则

Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守的条目。

● 每个import语句只导入一个模块,尽量避免一次导入多个模块。

例如:

import random
import os
#尽量不要采取下面这种方式,分别导入
import os,random

● 不要在代码末尾加‘;’,也不要用分号将2条命令写在同一行。

例如:#不规范写法

a=1;
b=1;
c=1;d=1;
#规范写法
a = 1
b = 1
c = 1
d = 1
或者
a = b = c = d = 1

● 建议每行不超过80个字符,如果超过,建议用小括号“()”将多行内容连接起来,而不推荐使用反斜杠‘\’进行连接。

● 使用必要的空行可以增加代码的可读性,一般在顶级定义之间空两行,而方法定义之间空一行。

● 运算符两侧和函数参数之间建议使用空格进行分割。

● 应该避免在循环中使用+和+=操作符累加字符串,这是因为字符串是不可变的,这样会创建不必要的临时对象,推荐做法是将每个字符串加入列表,然后循环结束后使用join()方法连接列表。

● 适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构。

2.命名规范

命名规范在代码中起到很重要的作用,尽管不规范命名的程序我们依然可以运行,但是会影响我们更方便理解代码。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

下面来介绍一些命名规范:

● 命名尽量短小并且使用小写字母,可以使用下划线分割多个字母,例如get_name、tom_home、asset,这些都是推荐使用的类型。(本小节存在不遵守此规范的实例,有兴趣的可以找一下)

● 类名采用单词首字母大写的形式,例如,GetMoney,History等

● 使用单下划线“_”开头的模块变量或者函数是受保护的,在使用import*from语句从模块中导入时这些变量或者函数不能被导入。

● 使用双下划线 “__”开头的变量或方法是私有的。

3. 空格

按照标准的排版规范来使用标点两边的空格

括号内不要有空格.

下面是使用空格的规范:

● 赋值符号“=”前后各有一个空格

● 所有的二元运算符都应该使用空格与操作数分开

例如:a += c + d

● 括号内不要有空格,Python中括号包括小括号“0”、中括号“[]”和

● 括号“{}"。

● 不要在逗号、分号、冒号前面有空格。但应该在它们后面加(除了在行尾)。

Yes: if x == 4:
print x, y
x, y = y, x

No: if x == 4 :
print x , y
x , y = y , x

4.缩进

4个空格被认为是一个缩进,Python中的缩进类似于C语言中的‘{}’,在‘:’换行后一定要跟一个缩进,不然会出现语法错误。如果不正确使用缩进,就会出现SyntaxError错误。

Yes: # 与起始变量对齐
foo = long_function_name(var_one, var_two,
var_three, var_four)

字典中与起始值对齐

foo = {
long_dictionary_key: value1 +
value2,

}

4 个空格缩进,第一行不需要

foo = long_function_name(
var_one, var_two, var_three,
var_four)

字典中 4 个空格缩进

foo = {
long_dictionary_key:
long_dictionary_value,

}

No: # 第一行有空格是禁止的
foo = long_function_name(var_one, var_two,
var_three, var_four)

2 个空格是禁止的

foo = long_function_name(
var_one, var_two, var_three,
var_four)

字典中没有处理缩进

foo = {
long_dictionary_key:
long_dictionary_value,

}

5.分号

不要在行尾加分号, 也不要用分号将两条命令放在同一行。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

6.行长度

每行不超过80个字符

以下情况除外:

  1. 长的导入模块语句

  2. 注释里的URL

不要使用反斜杠连接行。

Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号。

推荐: foo_bar(self, width, height, color=‘black’, design=None, x=‘foo’,
emphasis=None, highlight=0)

if (width == 0 and height == 0 and
color == ‘red’ and emphasis == ‘strong’):

如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:

x = ('这是一个非常长非常长非常长非常长 ’
‘非常长非常长非常长非常长非常长非常长的字符串’)

在注释中,如果必要,将长的URL放在一行上。

7.括号

除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的.

Yes: if foo:
bar()
while x:
x = bar()
if x and y:
bar()
if not x:
bar()
return foo
for (x, y) in dict.items(): …

No: if (x):
bar()
if not(x):
bar()
return (foo)

8.注释

最后再讲一下注释规则,大家会在本教程中看到很多很多的注释,注释穿插于代码中,‘#’为开始,换行即截止。

9.总结

本章就讲到这里,良好的编程习惯会帮助你成为一个优秀的开发人员,本章的内容大家可以在之后的学习过程中多多回顾,下一节我们来学习一下标识符和关键字。

初学编程,不了解编写规范,代码不能运行,幸好有入门宝典相关推荐

  1. 嵌入式linux开发-(一)如何编写linuxC代码并运行(ubantu20.04)

    ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大二学生. ⏩最近开始学习嵌入式linux驱动开发编程,本文对如何编写linuxC代码进行一个总结,也做一个记录. ⏩感谢你的阅读,不对的 ...

  2. python打完代码怎么运行-Python的代码是如何去进行运行的?

    近年来,Python语言迅速崛起,其简洁.免费.易学习.兼容性好等特点以及其面向对象.函数式编程.过程编程.面向方面编程,受到众人的喜爱.与其他编程程序的语言基本相同,Python也是需要在相应的程序 ...

  3. 基于java 工单管理_实训任务工单1-2(编写规范Java代码) 实训任务工单1-2(编写规范Java代码).docx_学小易找答案...

    [其它]实训任务工单4-1(泛型类.泛型方法的应用) 实训任务工单4-1(泛型类.泛型方法的应用).docx [简答题]教学工单5-1Java序列化机制的使用 [填空题]The name of my ...

  4. C语言 程序代码编写规范

    前言 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性. 说明 l 本文档主要适用于刚刚开始接 ...

  5. c语言程序前言,C语言 程序代码编写规范前言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性 ...

  6. c语言程序报告的前言,C语言 程序代码编写规范前言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性 ...

  7. 编写通用计算机代码,计算机源代码编写规范(VB版本).doc

    计算机源代码编写规范(VB版本) 计算机源代码编写规范(VB编码规范) 编 号:MPDK/ZY-17-2007 修 改 号:0 发 放 号: 发布时间:200 实施时间:200 编 制: 批 准: V ...

  8. 长沙北大青鸟java 学费_长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二)...

    原标题:长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二) 文件名规范 1.一个Java源文件只能存储个Java类. 2.文件名与Java类名相同. 3.一个类文件的代码行 ...

  9. 项目文档编写规范与代码规范

    往往越是规模大的公司,其项目工作中的每一个环节都有相应的规范进行管理,这些规范都是都前辈呕心沥血,披荆斩棘所获的的经验总结,而非普通文书工作者的推猜可得. 当然,如果刚刚创业起步的小公司如能更早的抓住 ...

最新文章

  1. 机器学习模型调参指南(附代码)
  2. python3使用serial以及pyserial包读取串口数据并解析字节数组,涉及数据移位以及Python无符号整数转为有符号整数操作
  3. ADO学习(九)如何阅读ADO文档
  4. WebApiClient的JsonPatch局部更新
  5. c语言用指针实现打开和关闭文件,我用rewind函数没把指针直到开始,关闭文件然后打开就行。帮忙看看...
  6. oracle关联字段和序列,oracle(9) 序列和约束
  7. sed 和 awk 正则表达式
  8. server.MapPath的相对路径问题
  9. 91 卫图与bigemap地图下载器功能对比
  10. Pr 与音频相关的调整方法
  11. 斯坦福大学公开课:iOS 7应用开发 (二)
  12. linux 查看裸设备与lv,LINUX 如何查看裸设备
  13. 电脑编程从哪里开始学习_我想学习编程,但我不知道从哪里开始
  14. nginx 404 图片均衡
  15. STM32-F407入门学习专题(九) STM32外设之ADC
  16. html预览pdf文件
  17. Qt编写可视化大屏电子看板系统16-标准柱状图
  18. 中国科学技术大学计算机2020,中国科学技术大学2020年第七届计算机科学暑期夏令营报名通知...
  19. 机械硬盘函数不正确要如何办啊
  20. 计算你来到世界多少天

热门文章

  1. 有人竟然为了两千多的眼镜倒贴10亿???
  2. 重磅引才!符合条件博士生,给予300平以上别墅一幢!
  3. 深度学习框架哪家强?国产框架OneFlow做了一份测评报告
  4. 3W字长文带你轻松入门视觉Transformer
  5. 拿到腾讯字节快手 offer 后,他的 LeetCode 刷题经验在 GitHub 火了!
  6. 不是报错就是崩盘,这些代码迁移问题你遇到过几个?
  7. CVPR 2020录用率十年最低,商汤官宣62篇入选
  8. k近邻算法之 k值的选择
  9. 技术19期:1分钟入门数据治理!必看!【技术篇】
  10. 知乎热议:985计算机视觉研究生找不到工作?