每一级缩进使用4个空格
类似定义函数或者调用函数时参数过多的场景,有两种推荐缩进做法,一种是第一行有参数,换行后利用
括号默认的垂直对齐方式。另一种方式就是第一行没有参数,参数直接换行到下一行,此时
缩进需要比其他代码多缩进一级,便于轻松识别出不是其他的代码语句
if语句中条件比较多需要换行时,推荐两种处理方式,一种是判断条件和代码之间
增加一行注释,另外一种就是对条件做更多一层的缩进,从而用于语句块中的代码区分开
当多行结构中使用的括号(小括号、方括号、花括号)的右括号另起一行的时候,可以与上一行的第一个字符对齐
或者也可以与下一行的第一个字符对齐
# 以下代码为推荐代码:
def long_function_name(var_one,
var_two,
var_three,
var_four):
print(var_one)
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)
foo = long_function_name(
var_one, var_two,
var_three, var_four)
if (this_is_one_thing and
that_is_another_thing):
# 当满足某种条件时执行此分支.
do_something()
if (this_is_one_thing
and that_is_another_thing):
do_something()
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',
)
# 以下代码为不推荐代码
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)
if (this_is_one_thing and
that_is_another_thing):
do_something()
# 推荐做法
def methond_to_show_code_set_in_multiline_with_bracket(first_paramp="",
second_param="",
third_param=""):
pass
# 不推荐做法
def methond_to_show_code_set_in_multiline_with_bracket(first_paramp="",\
second_param="",\
third_param=""):
pass
# 推荐做法
income = (gross_wages
taxable_interest
(dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
# 不推荐做法
income = (gross_wages
taxable_interest
(dividends - qualified_dividends) -
ira_deduction -
student_loan_interest)
# 注释
def func1():
pass
class Demo1():
def method1(self):
pass
def method2(self):
pass
def func2():
pass
class Demo2():
pass
# 推荐做法
import os
import sys
from subprocess import Popen, PIPE
from flask import Flask
# 不推荐做法
import os,sys
from subprocess import Popen, PIPE
from flask import Flask
"""This is the example module.
This module does stuff.
"""
from __future__ import barry_as_FLUFL
__all__ = ['a', 'b', 'c']
__version__ = '0.1'
__author__ = 'Cardinal Biggles'
import os
import sys
# 推荐做法
spam(ham[1], {eggs: 2})
if x == 4: print x, y; x, y = y, x
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[lower:upper], ham[lower:upper:], ham[lower::step]
ham[lower offset : upper offset]
ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
ham[lower offset : upper offset]
spam(1)
dct['key'] = lst[index]
x = 1
y = 2
long_variable = 3
# 不推荐做法
spam( ham[ 1 ], { eggs: 2 } )
if x == 4 : print x , y ; x , y = y , x
ham[lower offset:upper offset]
ham[1: 9], ham[1 :9], ham[1:9 :3]
ham[lower : : upper]
ham[ : upper]
spam (1)
dct ['key'] = lst [index]
x = 1
y = 2
long_variable = 3
# 推荐做法
i = i 1
submitted = 1
x = x*2 - 1
hypot2 = x*x y*y
c = (a b) * (a-b)
def complex(real, imag=0.0):
return magic(r=real, i=imag)
def munge(input: AnyStr): ...
def munge() -> AnyStr: ...
def munge(sep: AnyStr = None): ...
def munge(input: AnyStr, sep: AnyStr = None, limit=1000): ...
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
# 不推荐做法
i=i 1
submitted =1
x = x * 2 - 1
hypot2 = x * x y * y
c = (a b) * (a - b)
def complex(real, imag = 0.0):
return magic(r = real, i = imag)
def munge(input:AnyStr): ...
def munge()->PosInt: ...
def munge(input: AnyStr=None): ...
def munge(input: AnyStr, limit = 1000): ...
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
# 推荐:
if foo is not None:
def f(x): return 2*x
# 不推荐:
if not foo is None:
f = lambda x: 2*x