- 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编码的特性
作者名字。作者名字不是由拉丁字母组成的也必须提供⼀个拉丁⾳译名。
⿎励具有全球受众的开放源码项⽬采⽤类似的原则。
您可能关注的文档
- 初中语文小说阅读专题训练试题(有答案和解析)含解析 .pdf
- 网络安全专场竞赛方案 .pdf
- 医学影像设备定期检测制度 .pdf
- 分子生物学习题及答案(3,4,5章)汇总 .pdf
- 山西省2021届高考名校联考押题卷(三模) 英语试题 .pdf
- 六年级下册《道德与法治》教学工作总结2021 .pdf
- 大学实验室安全知识考试题库100题(含答案)ARI .pdf
- XX医学院本科各专业《Python》第四章习题与答案-2020年精品 .pdf
- 2023年无私奉献读书节知论识竞赛初赛试题初高中语文资源网首中考高考作.pdf
- 2023-2024学年部编版语文五年级上学期《期末检测试题》带答案.pdf
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)