1.1 使用4个空格作为一个缩进层次
1.2 当需要换行时,续行应该和所包含的元素垂直对齐或者使用悬垂缩进,也就是第一行不应该有任何参数,续行业应该有缩进 来明确其作为一个续航。
例如:
# 对齐
foo = long_function_name(var_one, var_two,
var_three, var_four)
# 比之后的内容多一层缩进
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
# 悬垂的缩进,多加一层
foo = long_function_name(
var_one, var_two,
var_three, var_four)
# 另外其实有一种可选情况,也就是悬垂缩进可以缩进不为4个空格,比如用两个
2.1 if的条件过长需要换行时使用以下几种方案
# 没有额外缩进
if (this_is_one_thing and
this_is_another_thing):
do_something
# 加上一行注释来使得编辑器更容易支持语法高亮
if (this_is_one_thing and
this_is_another_thing):
# 在这里加上一行注释
do_something()
# 在续行使用额外的缩进
if (this_is_one_thing
and that_is_another_thing):
do_something()
2.2 列表元素之类的需要后括号结束的,后括号要么和元素对齐,要么定格。
# 和元素对齐
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
#顶格
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
2.3 是否用Tab或者空格。
尽量使用空格,除非你需要和之前就用TAB的代码保持一致。(py3允许tab和空格混用)
2.4 换行的位置和二元运算符怎么处理
二元运算符在换行符之后,也就是说,换行之后的续行一开始是二元运算符
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
3.1 对于所有行来说,最长79字符
3.2 对于文档字符串或者注释,最长72字符
3.3 太长的就用backslash换行处理,换行规则在上面
4.1 顶层函数以及类定义和其他部分用两个空行隔开
4.2 类之内的方法定义用一个空行隔开
4.3 对于一组相关的函数和其他之间可以有额外的空行
4.4 可以使用空行来区分逻辑块
编码真的是头疼到爆炸
5.1 python3 使用utf-8,python2使用ascii
5.2 python3已经使用utf-8,python2已经使用ascii的源代码不应该有编码声明
后续再更新吧。因为对他的进行了整理和补充,所以标为原创,若有异议,留言即可。感谢知识分享。
参考博客:https://blog.csdn.net/qq_29343201/article/details/54660570