আমার পরামর্শটি একটি ফাংশন ব্যবহার করা। তবে ifফাংশনটি রাখার পরিবর্তে যা আপনাকে প্ররোচিত করতে পারে তা এইভাবে করুন:
if verbose:
def verboseprint(*args):
for arg in args:
print arg,
print
else:
verboseprint = lambda *a: None
(হ্যাঁ, আপনি একটি ifবিবৃতিতে কোনও ফাংশন সংজ্ঞায়িত করতে পারেন , এবং শর্তটি সত্য হলে এটি কেবল সংজ্ঞায়িত হবে!)
যদি আপনি পাইথন 3 ব্যবহার করেন printতবে ইতিমধ্যে যেখানে কোনও ফাংশন (বা আপনি printযদি 2.x ব্যবহার করে কোনও ফাংশন হিসাবে ব্যবহার করতে ইচ্ছুক হন from __future__ import print_function) এটি আরও সহজ:
verboseprint = print if verbose else lambda *a, **k: None
এভাবে ক্রমাগত verboseপতাকা পরীক্ষার পরিবর্তে ভার্বোস মোড বন্ধ থাকলে (ল্যাম্বডা ব্যবহার করে) ফাংশনটি ডু-কিছুই হিসাবে সংজ্ঞায়িত করা হয় ।
যদি ব্যবহারকারী আপনার প্রোগ্রামটি চলাকালীন ভার্বোসিটি মোড পরিবর্তন করতে পারে, তবে এটি ভুল পদ্ধতির হবে (আপনার ifফাংশনটি দরকার হবে) তবে যেহেতু আপনি এটি একটি কমান্ড-লাইন পতাকা দিয়ে সেট করছেন, আপনার কেবল দরকার একবার সিদ্ধান্ত নিন।
তারপরে আপনি উদাহরণস্বরূপ ব্যবহার করুন verboseprint("look at all my verbosity!", object(), 3)যখনই আপনি কোনও "ভারবোজ" বার্তা মুদ্রণ করতে চান।