파이썬에서 / 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():
...