空格

Tip

按照标准的排版规范来使用标点两边的空格

括号内不要有空格.

  1. Yes: spam(ham[1], {eggs: 2}, [])
  1. No: spam( ham[ 1 ], { eggs: 2 }, [ ] )

不要在逗号, 分号, 冒号前面加空格, 但应该在它们后面加(除了在行尾).

  1. Yes: if x == 4:
  2. print x, y
  3. x, y = y, x
  1. No: if x == 4 :
  2. print x , y
  3. x , y = y , x

参数列表, 索引或切片的左括号前不应加空格.

  1. Yes: spam(1)
  1. no: spam (1)
  1. Yes: dict['key'] = list[index]
  1. No: dict ['key'] = list [index]

在二元操作符两边都加上一个空格, 比如赋值(=), 比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not), 布尔(and, or, not). 至于算术操作符两边的空格该如何使用, 需要你自己好好判断. 不过两侧务必要保持一致.

  1. Yes: x == 1
  1. No: x<1

当’=’用于指示关键字参数或默认参数值时, 不要在其两侧使用空格.

  1. Yes: def complex(real, imag=0.0): return magic(r=real, i=imag)
  1. No: def complex(real, imag = 0.0): return magic(r = real, i = imag)

不要用空格来垂直对齐多行间的标记, 因为这会成为维护的负担(适用于:, #, =等):

  1. Yes:
  2. foo = 1000 # comment
  3. long_name = 2 # comment that should not be aligned
  4.  
  5. dictionary = {
  6. "foo": 1,
  7. "long_name": 2,
  8. }
  1. No:
  2. foo = 1000 # comment
  3. long_name = 2 # comment that should not be aligned
  4.  
  5. dictionary = {
  6. "foo" : 1,
  7. "long_name": 2,
  8. }