Moja sugestia to użycie funkcji. Ale zamiast umieszczać funkcję ifw funkcji, o którą możesz się kusić, zrób to w następujący sposób:
if verbose:
def verboseprint(*args):
for arg in args:
print arg,
print
else:
verboseprint = lambda *a: None
(Tak, możesz zdefiniować funkcję w ifinstrukcji, a zostanie ona zdefiniowana tylko wtedy, gdy warunek jest prawdziwy!)
Jeśli używasz Pythona 3, gdzie printjest już funkcją (lub jeśli chcesz użyć jej printjako funkcji w wersji 2.x przy użyciu from __future__ import print_function), jest to jeszcze prostsze:
verboseprint = print if verbose else lambda *a, **k: None
W ten sposób funkcja jest definiowana jako nic nie rób, jeśli tryb gadatliwy jest wyłączony (przy użyciu lambda), zamiast ciągłego testowania verboseflagi.
Gdyby użytkownik mógł zmienić tryb oznajmiania podczas wykonywania programu, byłoby to niewłaściwe podejście (potrzebowałbyś iffunkcji), ale ponieważ ustawiasz go flagą wiersza poleceń, musisz tylko podejmij decyzję raz.
Możesz wtedy użyć np. Zawsze, verboseprint("look at all my verbosity!", object(), 3)gdy chcesz wydrukować "gadatliwą" wiadomość.