没有合适的资源?快使用搜索试试~ 我知道了~
python编码规范.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 139 浏览量
2023-07-29
10:51:22
上传
评论
收藏 255KB DOC 举报
温馨提示
试读
15页
python编码规范.doc
资源推荐
资源详情
资源评论
Python 编码规范
主要几条
(1)代码编写规范
1.行尾不加分号
2.代码过长要换行
3.方法中初始化等于号前后不能有空格
4.尽可能不用括号 除非是元组
5.类和函数方法要写注释 用 python 自带的文档字符串写 具体要求见文档第 6 页
6.多字符串相加尽可能用格式化 避免多次+或+= 可用 append join
7.注意缩进 具体要求见第 3 页
8.文件打开后记得关闭 尽量使用 with open
9.在二元操作符两边都加上一个空格, 比如赋值(=), 比较(==, <, >, !=, <>, <=, >=, in, not
in, is, is not), 布尔(and, or, not)等 (注意排除函数初始化等)
10.逗号, 分号, 冒号后加空格 前面不要
具体看下面 可参考谷歌编码规范 https://google.github.io/styleguide/pyguide.html
(2)代码效率
1.对于遍历字典 同时需要 key value 的情况下 采用 iteritems()效率最高
2.元组效率比列表高
3.利用生成器对象惰性求值的特点,避免将其转换为列表、元组等
4.充分利用 and/or 惰性求值的特点,合理组织条件顺序,把容易 False 的条件放在
前面
5.每个 import 语句只导入一个模块,最好按照标准库、扩展库、自定义库的顺序导
入。如果只用到库函数的某一个功能,则尽量使用 from 导入
6.尽量使用列表推导式,而不是用 list.append 方法来初始化一个列表
7.字符串拼接用 append join
8.交换变量值时避免使用临时变量
9.判断条件如果是同一个变量比较大小应该用链状比较操作符 比如 1 < a < 20 而不
是 a >1 and a < 20
Python 风格规范
以下代码中 Yes 表示推荐,No 表示不推荐。
分号
不要在行尾加分号, 也不要用分号将两条命令放在同一行。
行长度
每行不超过 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 放在一行上。
Yes: # See details at
# http://www.example.com/us/developer/documentation/api/content/v2.0/csv_file_name_extension_full_specification.ht
ml
No: # See details at
# http://www.example.com/us/developer/documentation/api/content/\
# v2.0/csv_file_name_extension_full_specification.html
括号
宁缺毋滥的使用括号
除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的.
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)
缩进
用 4 个空格来缩进代码或者 tab
绝对不要 tab 和空格混用. 对于行连接的情况, 你应该要么垂直对齐换行的元素, 或者使用 4 空格的悬挂式缩进(这时第一行不应该有参数):
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,
剩余14页未读,继续阅读
资源评论
折竹丶
- 粉丝: 1w+
- 资源: 725
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功