Python01-01_Python3代码样式指导手册
2021-03-30 03:28
标签:doc block 虚函数 docstring lin 限制 作者 隐式 说明 每个缩进级别采用4个空格 连续行所包装的元素应该要么使用Python隐式排列,即垂直对齐于圆括号,方括号花括号 或者采用悬挂缩进,采用悬挂缩进需考虑第一行不应该包括参数,并且在续行中需要再缩进一级以清楚显示 对于续行来说,4空格规则可以不遵守 如果if语句太长,需要用到多行书写 2个字符(例如if)加上一个空格和一个左括号刚好是4空格缩进,但这对多行条件语句的续行是没用的因为这会和if语句中嵌套的其他的缩进语句产生视觉上的冲突 这份PEP中并没有做出明确的说明应该怎样来区分条件语句和if语句中所嵌套的语句 多行结束右圆/方/花括号可以单独一行书写和上一行的缩进对齐 也可以和多行开始的第一个字符对齐 推荐使用空格来进行缩进 tab应该只有在现有代码已经使用tab进行缩进的情况下使用以便和现有代码保持一致 python3不允许tab和空格共同使用 将所有行都限制在79个长度以内 对于连续大段的文字(比如文档字符串(docstring)或注释),其结构上的限制更少这些行应该被限制在72个字符长度之内 调整窗口宽度能让多个文件同时打开在屏幕上显示,在使用代码评审(code review)工具时在两个相邻窗口显示两个版本的代码会更好 很多工具默认自动换行会破坏代码结构,使代码变得难以理解 在窗口大小为80个字符的编辑器中,在换行时,编辑器可能会在最后一列放置一个标记,为避免自动换行也需要限制酶行字符串的长度 一些基于web的工具根本没有换行的可能 一些团对会强烈希望行长度不止79个字符 当代码仅仅是由一个团队维护时,达成一致后,可将长度改写成99个字符长度,注释和文档字符依然是72个字符 python标准库比较保守,要求将行长度限制在99个字符串内 推荐的换行方式是利用 Python 圆括号、方括号和花括号中的隐式续行(implied line continuation)。 很长的行可以通过在括号内换行来分成多行。 最好加上反斜杠来区别续行。 有时只能使用反斜杠。 较长的多个 with 语句不能采用隐式续行,只能接受反斜杠表示换行: 一直以来推荐的风格是在二元运算符之后换行。 但是有两方面可以说明这会破坏代码的可读性: 在屏幕上运算符会分散在不同列上 运算符会留在上一行而远离操作数 所以,阅读代码的时候眼睛要紧盯来确定哪些操作数被加,哪些操作数被减 使用 2 个空行来分隔最外层的函数(function)和类(class)定义。 使用 1 个空行来分隔类中的方法(method)定义。 可以使用额外的空行(尽量少)来分隔一组相关的函数。 在一系列相关的仅占一行的函数之间,空行也可以被省略(比如一组虚函数定义)。 在函数内使用空行(尽量少)使代码逻辑更清晰。 Python 支持 control-L(如:^L) 换页符作为空格; 许多工具将这些符号作为分页符,因此可以使用这些符号来分页或者区分文件中的相关区域。 注意,一些编辑器和基于 web 的代码预览器可能不会将 control-L 识别为分页符,而是显示成其他符号。 Python 关键发行版中的代码应该一直使用 UTF-8(Python2 中使用 ASCII)。 使用 ASCII(Python2)或者UTF-8(Python3)的文件不应该添加编码声明。 在标准库中,那些用作测试的代码,注释,文档字符串需要提及作者名字而不得不使用非ASCII字符时,才能使用非默认的编码。 否则,在字符串文字中包括非 ASCII 数据时,推荐使用 \x , \u , \U 或 \N 等转义符 此外,字符串文字和注释应该只包括 ASCII 编码。 测试情况下为了测试非ASCII编码的特性 作者名字。作者名字不是由拉丁字母组成的也必须提供一个拉丁音译名。 Python01-01_Python3代码样式指导手册 标签:doc block 虚函数 docstring lin 限制 作者 隐式 说明 原文地址:https://www.cnblogs.com/xujie-0528/p/13588685.htmlPython3代码样式指导手册
代码布局
缩进
Tab还是空格?
每行最大长度
二元运算符之前还是之后换行?
空行
源文件编码
只有两种例外:
鼓励具有全球受众的开放源码项目采用类似的原则。
文章标题:Python01-01_Python3代码样式指导手册
文章链接:http://soscw.com/index.php/essay/69816.html