python 编码风格

编码风格

1错误认知

·这很浪费时间

·我是个艺术家

·所有人都能穿的鞋不会合任何人的脚

·我善长制定编码规范

正确认知

·促进团队合作

·减少bug处理

·提高可读性,降低维护成本

·有助于代码审查

·养成习惯,有助于程序员自身的成长

2 pep8 编码规范

Python Enhancement Proposals:python改进方案

https://www.python.org/dev/peps/

Guido的关键点之一是:代码更多是用来读而不是写。编码规范旨在改善Python代码的可读性。

风格指南强调一致性。项目、模块或函数保持一致都很重要。

3每级缩进用4个空格

括号中使用垂直隐式缩进或使用悬挂缩进。后者应该注意第一行要没有参数,后续行要有缩进。



缩进不一定全是四个空格

4右边括号也可以另起一行。

有两种格式,建议第2种。

1
2

5 空格或tab?

·空格是首选的缩进方法。

·Tab仅仅在已经使用tab缩进的代码中为了保持一致性而使用。

·Python 3中不允许混合使用Tab和空格缩进。

·Python 2的包含空格与Tab和空格缩进的应该全部转为空格缩进。

6 最大行宽

·限制所有行的最大行宽为79字符。

·文本长块,比如文档字符串或注释,行长度应限制为72个字符。

7 空行

·两行空行分割顶层函数和类的定义。

·类的方法定义用单个空行分割。

·额外的空行可以必要的时候用于分割不同的函数组,但是要尽量节约使用。

·额外的空行可以必要的时候在函数中用于分割不同的逻辑块,但是要尽量节约使用。

8 源文件编码

·在核心Python发布的代码应该总是使用UTF-8(ASCII在Python 2)。

·Python 3(默认UTF-8)不应有编码声明。

导入在单独行


·导入始终在文件的顶部,在模块注释和文档字符串之后,在模块全局变量和常量之前。

·导入顺序如下:标准库进口,相关的第三方库,本地库。各组的导入之间要有空行。

10 禁止使用通配符导入

通配符导入(fromimport *)应该避免,因为它不清楚命名空间有哪些名称存,混淆读者和许多自动化的工具。

11字符串引用

Python中单引号字符串和双引号字符串都是相同的。注意尽量避免在字符串中的反斜杠以提高可读性。

·根据PEP 257,三个引号都使用双引号。

12 括号里边避免空格


13 逗号,冒号,分号之前避免空格


14 索引操作中的冒号

当操作符处理前后要有同样的空格(一个空格或没有,建议没有)

15 函数调用左括号之前不能有空格


16赋值等操作符前后

赋值等操作符前后不能因为对齐而添加多个空格


17 二元运算符两边放置一个空格

涉及=、符合操作符( += , -=等)、比较( == , < , > , != , <> , <= , >= , in , not in , is , is not )、布尔( and , or , not )。

优先级高的运算符或操作符的前后不建议有空格。


18 关键字参数和默认值参数的前后不要加空格


19 通常不推荐复合语句


尽管有时可以在if/for/while的同一行跟一小段代码,但绝不要跟多个子句,并尽量避免换行。

20 避免采用的名字

决不要用字符'l'(小写字母el),'O'(大写字母oh),或'I'(大写字母eye)作为单个字符的变量名。一些字体中,这些字符不能与数字1和0区别。用'L'代替'l'时。

21 包和模块名

模块名要简短,全部用小写字母,可使用下划线以提高可读性。包名和模块名类似,但不推荐使用下划线。

二 代码调试

pycharm

步骤:

1、设置断点

2、shift+f9开始调试

3、光标就在断点处停了。这一行没有运行的

4、下一行:f8

5、进入方法:f7

6、跳到下一个断点:alt+f9

7、进入方法,跳出这一步,shift+f8

推荐阅读更多精彩内容

  • 更新时间:2016/5/13 介绍 本文档所提供的编码规范,适用于主要的Python发行版中组成标准库的Pytho...
    超net阅读 3,274评论 0 12
  • Python是一种对代码风格很重视的语言,从缩进就能看出这一点,Python强调易于理解。最近在负责代码重构的工作...
    知曰阅读 9,341评论 1 84
  • 1.1==,is的使用 ·is是比较两个引用是否指向了同一个对象(引用比较)。 ·==是比较两个对象是否相等。 1...
    SylarX阅读 2,653评论 2 2
  • --< > 令人讨厌的小人物身上有着愚蠢的一致性 --(A Foolish Consistency is the ...
    LittleWizard阅读 2,301评论 0 4
  • 原文链接 《Python数据分析》(Python for Data Analysis, 2nd Edition)第...
    李绍俊阅读 2,550评论 0 3