Подтвердить что ты не робот

Какой стандартный способ сделать no-op в python?

Я часто нахожу, что пишу, если /elif/else строит в python, и я хочу включить параметры, которые могут произойти, но для которых соответствующее действие ничего не должно делать. Я понимаю, что могу просто исключить эти операторы if, но для удобства чтения я считаю, что это помогает включить их все, так что, если вы просматриваете код, вы можете увидеть, что происходит в результате каждой опции. Как мне закодировать no-op? В настоящее время я делаю так:

no_op = 0

if x == 0:
    y = 2 * a
elif x == 1:
    z = 3 * b
elif x == 3:
    no_op

(Код на самом деле довольно длинный и сложнее. Это просто для иллюстрации структуры).

Мне не нравится использовать переменную как no-op, но это самый простой способ, о котором я мог думать. Есть ли лучший способ?

4b9b3361

Ответ 1

Используйте pass для no-op:

if x == 0:
  pass
else:
  print "x not equal 0"

И вот еще один пример:

def f():
  pass

Или:

class c:
  pass

Ответ 2

Как насчет pass?

Ответ 4

Если вам нужна функция, которая ведет себя как nop, попробуйте

nop = lambda:None
nop()

Иногда я делаю такие вещи, когда я делаю зависимости необязательными:

try:
    import foo
    bar=foo.bar
    baz=foo.baz
except:
    bar=nop
    baz=nop

# Doesn't break when foo is missing:
bar()
baz()