Использование оператора pass в python как способ сделать код более читабельным? Это имеет значение?

1

Я изучал, как использовать инструкции pass в python. Я посмотрел (как использовать утверждение pass в Python), и при чтении ответов возникли некоторые вопросы, касающиеся других применений инструкции pass...

Должен ли я использовать инструкцию pass в python для того, чтобы сделать мой код более удобочитаемым?

а также

Может ли использование пропущенного заявления таким образом потенциально вызвать у меня какие-либо проблемы?

Например:

Ниже приведена супер простая программа, которая в основном говорит, что если кто-то меньше или равен 30 годам, ничего не делайте (перейдите). Я знаю, что если я не стану пропускать, я получаю ошибку с отступом. Затем после этого у меня есть мой elif, который распечатает "Вы старше 30", если возраст больше 30.

age = 32

if age <= 30:
    pass
elif age > 30:
    print("You are older than 30")

Теперь я мог бы просто написать этот код следующим образом:

age = 32

if age > 30:
    print("You are older than 30")

Однако, с точки зрения удобочитаемости кода, добавляет ли еще немного кода и явно скрывает ясность в целом, помогает мне другим, кто может перейти в код в будущем? Может ли кодирование таким образом вызвать у меня какие-либо проблемы? Есть ли что-нибудь об использовании инструкции pass таким образом, что может вызвать у меня некоторые икоты?

Теги:
code-readability
readability

2 ответа

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

Редактировать 1

Икоты и замедление будут выбрасываться, если ваш код использует ненужные инструкции или циклы, обработку исключений, больше переменных и т.д.... Вы можете использовать linter для этой проблемы, например pylint


От Дзэн Питона, Тим Петерс

Simple is better than complex.
Readability counts.

Вы можете переписать код, который вы опубликовали, как приведенный ниже фрагмент, чтобы сохранить его просто, избегать ненужных проверок, if age <= 30 например, и держать его более читаемым

age = 32

if age > 30:
    print("You are older than 30")
else:
    pass

Что касается кода в лучшем масштабе и удобочитаемости среди других, вы можете использовать утверждение pass конечно, комментарии, ООП и т.д....

Конечно, есть много других методов, чтобы следовать этим терминам, о которых я не упоминал.

1

инструкция pass будет оправдана примерно так:

class MyException(Exception):
    pass

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

age = 32

if age > 30:
    print("You are older than 30")

выглядит намного лучше и читабельнее.

  • 0
    Я полностью согласен, pass означает, что это не важно, и я ничего не делаю в этом случае, поэтому я не вижу никакого преимущества в использовании его в условных выражениях, так как мне нужно остановиться и прочитать условие, а затем перейти к выполнению. ... ничего

Ещё вопросы

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