Style Guide for Python Code: Whitespace in Expressions and Statements

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Любимые мозоли

wuffur 21.03.09 в 17:39

0

Избегайте излишних пробелов в следующих ситуациях:

svartalf 17.02.09 в 14:53

0

Прямо внутри круглых, квадратных или фигурных скобок:

Правильно: spam(ham[1], {eggs: 2})
Неправильно: spam( ham[ 1 ], { eggs: 2 } )

wuffur 21.03.09 в 14:34

0

Перед запятой, точкой с запятой, или двоеточием:

Правильно: if x == 4: print x, y; x, y = y, x
Неправильно: if x == 4 : print x , y ; x , y = y , x

svartalf 19.02.09 в 15:24

0

Прямо перед от открывающей скобкой, которая начинает список аргументов вызова функции:

Правильно: spam(1)
Неправильно: spam (1)

wuffur 21.03.09 в 14:36

0

Прямо перед открывающей скобкой, которая начинают индексирование или разбиение:

Правильно: dict['key'] = list[index]
Неправильно: dict ['key'] = list [index]

wuffur 21.03.09 в 14:38

0

Более одного пробела вокруг одного оператора присваивания (или другого оператора), чтобы выравнить его с другим.

Правильно:

x = 1
y = 2
long_variable = 3

Неправильно:

x = 1
y = 2
long_variable = 3

wuffur 21.03.09 в 17:29

0
+1

Другие рекомендации

wuffur 21.03.09 в 16:55

0

Всегда окружайте эти двоичные операторы одним пробелом с каждой стороны:
присваивания(=), расширенного присваивания(+=, -= и так далее), сравнения (==,<,>, !=, <>, <=, >=, in, not in, is, is not), логические (and, or, not).

wuffur 21.03.09 в 17:07

0

Используйте пробелы вокруг арифметических операторов:

Правильно:

i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)

Неправильно:

i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)

wuffur 21.03.09 в 17:31

0

Не используйте пробелы вокруг знака '=', когда он нужен для указания ключевого слова аргумента или базового значения параметра.

Правильно:

def complex(real, imag=0.0):
return magic(r=real, i=imag)

Неправильно:

def complex(real, imag = 0.0):
return magic(r = real, i = imag)

wuffur 21.03.09 в 17:33

0

Составные выражения (много выражений на одной строчке) обычно обескураживают.

Правильно:

if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()

Но не:

if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

wuffur 21.03.09 в 17:36

0

Если иногда и ничего, что условные операторы if/for/while вместе с небольшим телом программы находятся на одной линии, никогда не делайте так для мультивыражений операторов. Также остерегайтесь складывать такие длинные строчки!

Не делайте так:

if foo == 'blah': do_blah_thing()
for x in lst: total += x
while t < 10: t = delay()

И совсем не надо делать так:

if foo == 'blah': do_blah_thing()
else: do_non_blah_thing()

try: something()
finally: cleanup()

do_one(); do_two(); do_three(long, argument,
list, like, this)

if foo == 'blah': one(); two(); three()

wuffur 23.03.09 в 10:05

0
+1
Минутку...