[python] 파이썬에서 no-op을 수행하는 표준 방법은 무엇입니까?

파이썬에서 / elif / else 구문을 작성하는 경우가 종종 있으며, 발생할 수있는 옵션을 포함하고 싶지만 해당 동작이 아무것도하지 않는 옵션을 포함하고 싶습니다. 나는 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로 사용하는 것을 좋아하지 않지만 내가 생각할 수있는 가장 작은 방법입니다. 더 좋은 방법이 있습니까?



답변

no-op에는 패스 를 사용하십시오 .

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

그리고 여기 또 다른 예가 있습니다 :

def f():
  pass

또는:

class c:
  pass


답변

어때요 pass?


답변

nop처럼 동작하는 기능이 필요한 경우

nop = lambda *a, **k: 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()


답변

또 다른 방법은 줄임표를 사용하는 것입니다.

def foo():
    ...


답변