내 제안은 기능을 사용하는 것입니다. 그러나 if
유혹을받을 수있는 함수에 넣기보다는 다음과 같이하십시오.
if verbose:
def verboseprint(*args):
for arg in args:
print arg,
print
else:
verboseprint = lambda *a: None
(예, if
명령문 에서 함수를 정의 할 수 있으며 조건이 참인 경우에만 정의됩니다!)
print
이미 함수가 있는 Python 3 을 사용하는 경우 ( print
또는를 사용하여 2.x에서 함수 로 사용하려는 경우 from __future__ import print_function
) 더 간단합니다.
verboseprint = print if verbose else lambda *a, **k: None
이렇게하면 verbose
플래그 를 지속적으로 테스트하는 대신 verbose 모드가 꺼져 있으면 (람다 사용) 함수가 아무것도하지 않는 것으로 정의됩니다 .
사용자가 프로그램을 실행 하는 동안 상세 모드를 변경할 수 있다면 이것은 잘못된 접근 방식입니다 ( if
함수 에서이 필요함 ).하지만 명령 줄 플래그로 설정하기 때문에 한 번 결정하십시오.
그런 다음 verboseprint("look at all my verbosity!", object(), 3)
"verbose"메시지를 인쇄 할 때마다 예를 사용 합니다.