আমার পরামর্শটি একটি ফাংশন ব্যবহার করা। তবে 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)
যখনই আপনি কোনও "ভারবোজ" বার্তা মুদ্রণ করতে চান।