- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Python01-01_Python3代码样式指导⼿册
Python3代码样式指导⼿册
代码布局
缩进
每个缩进级别采⽤4个空格
连续⾏所包装的元素应该要么使⽤Python隐式排列,即垂直对齐于圆括号,⽅括号花括号
或者采⽤悬挂缩进,采⽤悬挂缩进需考虑第⼀⾏不应该包括参数,并且在续⾏中需要再缩进⼀级以清楚显⽰
对于续⾏来说,4空格规则可以不遵守
如果if语句太长,需要⽤到多⾏书写
2个字符(例如if)加上⼀个空格和⼀个左括号刚好是4空格缩进,但这对多⾏条件语句的续⾏是没⽤的因为这会和if语句中嵌套的其他
的缩进语句产⽣视觉上的冲突
这份PEP中并没有做出明确的说明应该怎样来区分条件语句和if语句中所嵌套的语句
多⾏结束右圆/⽅/花括号可以单独⼀⾏书写和上⼀⾏的缩进对齐
也可以和多⾏开始的第⼀个字符对齐
Tab还是空格?
推荐使⽤空格来进⾏缩进
tab应该只有在现有代码已经使⽤tab进⾏缩进的情况下使⽤以便和现有代码保持⼀致
python3不允许tab和空格共同使⽤
每⾏最⼤长度
将所有⾏都限制在79个长度以内
对于连续⼤段的⽂字(⽐如⽂档字符串(docstring)或注释),其结构上的限制更少这些⾏应该被限制在72个字符长度之内
调整窗⼝宽度能让多个⽂件同时打开在屏幕上显⽰,在使⽤代码评审(codereview)⼯具时在两个相邻窗⼝显⽰两个版本的代码会更
好
很多⼯具默认⾃动换⾏会破坏代码结构,使代码变得难以理解
在窗⼝⼤⼩为80个字符的编辑器中,在换⾏时,编辑器可能会在最后⼀列放置⼀个标记,为避免⾃动换⾏也需要限制酶⾏字符串的长
度
⼀些基于web的⼯具根本没有换⾏的可能
⼀些团对会强烈希望⾏长度不⽌79个字符
当代码仅仅是由⼀个团队维护时,达成⼀致后,可将长度改写成99个字符长度,注释和⽂档字符依然是72个字符
python标准库⽐较保守,要求将⾏长度限制在99个字符串内
推荐的换⾏⽅式是利⽤Python圆括号、⽅括号和花括号中的隐式续⾏(impliedlinecontinuation)。
很长的⾏可以通过在括号内换⾏来分成多⾏。最好加上反斜杠来区别续⾏。有时只能使⽤反斜杠。
较长的多个with语句不能采⽤隐式续⾏,只能接受反斜杠表⽰换⾏:
⼆元运算符之前还是之后换⾏?
⼀直以来推荐的风格是在⼆元运算符之后换⾏。
但是有两⽅⾯可以说明这会破坏代码的可读性:
1.在屏幕上运算符会分散在不同列上
2.运算符会留在上⼀⾏⽽远离操作数
所以,阅读代码的时候眼睛要紧盯来确定哪些操作数被加,哪些操作数被减
空⾏
使⽤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编码的特性
作者名字。作者名字不是由拉丁字母组成的也必须提供⼀个拉丁⾳译名。
⿎励具有全球受众的开放源码项⽬采⽤类似的原则。
您可能关注的文档
最近下载
- 2024新高考数学全刷基础2000题.pdf
- 乐谱_A小调室内协奏曲,RV 108(安东尼奥·维瓦尔第)Chamber Concerto in A minor, RV 108 (Vivaldi, Antonio).pdf VIP
- 部编版语文三年级下册第二单元教材解读大单元集体备课.pptx VIP
- 学校师德师风培训课件PPT-师德培训课件.pptx
- 25年粤医云、国培卫健(医技)1月份答案-急性致命性胸痛的鉴别诊断1、2.docx VIP
- 2024年度民主生活会个人对照检查发言材料.doc VIP
- 2009一建《机电》真题及解析.pdf
- 装配式混凝土结构预制柱快速定位安装施工工法word.docx VIP
- 2024新高考地理答题卡(新课标一卷).pdf
- 加油车安全培训课件.pptx VIP
文档评论(0)