Синтаксис Python и разборчивость для последовательных шагов, которые являются подпунктами

1

Мне нравится форматирование и разборчивость форматирования Python. Но можете ли вы, или есть общий/стандартный способ разграничения блоков кода, которые не должны быть отступом, т.е. Не относятся к вложенным циклам?

У меня есть две части процедуры, которые входят в основной заголовок. Что-то вроде шага 2 содержит части 2.1 и части 2.2.

Комментируя до сих пор, у меня есть что-то вроде:

# Section 2
<code>
# Section 2.1
<code>
# Section 2.2
<code>

Но я бы предпочел что-то вроде:

# Section 2
<code>
    # Section 2.1
    <code>
    # Section 2.2
    <code>

Но ни 2.1, ни 2.2 не являются суб-циклами, и я знаю, что это незаконно. Они просто запускаются последовательно, но являются логическими шагами (для меня), которые подпадают под заголовок 2, поэтому, когда я смотрю на свой код, я знаю, в какой части программы они находятся.

Как вы обрабатываете эти случаи при кодировании?

Теги:
syntax

6 ответов

3
Лучший ответ

Что не так с определениями функций?

def section1( ... ):

def section2( ... ):

def overall( ... ):
    section1()
    section2()

Если он настолько огромен, что требуется отступы, возможно, он слишком большой.

Кроме того, вы можете злоупотреблять оператором with "отступом".

  • 0
    Я думаю, что вы имеете в виду «Кроме того, вы можете злоупотреблять утверждением with [которое имеет цель, а не], чтобы« форсировать »отступ».
  • 0
    Ты прав насчет этого, @jae.
5

Поместите их в отдельные функции.

4

Вы не должны долго работать в Python. В качестве подсказки используйте пробельные дилеммы.

  • 1
    s / in Python // ;-)
1

Вы можете попробовать разбить это на несколько функций:

def section2():
    section21()
    section22()

или что-то подобное. Я нахожу использование функций не только для повторного использования, но и в организационном плане, что делает мой код более читабельным и простым в обслуживании. Если функции должны совместно использовать значительный объем данных, вы можете подумать о том, чтобы сделать их методами класса.

1

Я удивлен, что вы подумали бы о том, чтобы отменить свой код, как это, даже на языках, которые это позволяют. Как об этом говорят члены вашей команды? Мне было бы очень странно иметь код с отступом, который не соответствовал блоку.

1

Я использую комментарии в своем коде, чтобы помочь мне распознать их логическое отношение друг к другу. Если я думаю, что возникает какой-то естественный порядок, я мог бы каким-то образом реорганизовать мой код, чтобы признать это, но я никогда не пытаюсь ошибочно использовать отступ Python. Это просто не то, для чего это предназначено. Это синтаксическая, а не семантическая.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню