লিখেছেন: কাজী মুশফিকুর রহমান || সফটওয়্যার প্রকৌশলী, টেকনিয়াস (সফটওয়্যার নির্মাণ প্রতিষ্ঠান) || তারিখঃ 17 নভে., 2024
পাইথনে pass স্টেটমেন্ট কিছুই করে না। এটি একটি নাল (null) স্টেটমেন্ট, ইন্টারপ্রেটার এটি রিড করে কিন্তু কোন অপারেশন পারফর্ম করে না। যখন আপনি কোন একটি কোড লিখেন কিন্তু সেটি ইমপ্লিমেন্ট করতে চান না, বরং পরবর্তীতে এক্সিকিউট করতে চান, তখন ‘pass’ ব্যবহার করতে পারেন। যখন প্রোগ্রামার কোডের একটি নির্দিষ্ট অংশ এক্সিকিউট করতে চায় না, তখন এটি ব্যবহার করে থাকে। এটি একটি null (নাল) অপারেশন, সুতরাং যখন স্টেটমেন্টটি রান হবে তখন কিছুই ঘটবে না। এর ইউজ তখনই হয় যখন ডেভেলপারের উদ্দেশ্য হয় শুধু সিন্ট্যাক্সের এক্সপ্রেশন, প্রোগ্রামের এক্সিকিউশন নয়। ‘pass স্টেটমেন্ট’ আর ‘কমেন্ট’ এর মধ্যে পার্থক্য হলো: ইন্টারপ্রেটার pass স্টেটমেন্ট স্কিপ করে চলে যায়, কিন্তু কমেন্ট স্কিপ করে না। এখন আমরা পাইথন কোডে এর ব্যবহার দেখব।
ধরুন, আমরা একটি লুপ বা ফাংশন ডিফাইন করব কিন্তু এখনই সেগুলো ইমপ্লিমেন্ট করার ইচ্ছা নাই, বরং অন্য কোন সময় এক্সিকিউট করব। এখনতো লুপ বা ফাংশন বডি খালি (empty) রাখলে ইন্টারপ্রেটার এরর দিবে। সুতরাং এই বডি ডিফাইন করতে আমরা pass স্টেটমেন্ট ব্যবহার করব, যা কিছুই করবে না।
কোড:
def my_function():
pass
my_function()
উপরে কোডের প্রথম লাইনে আমি my_function নামে একটি ফাংশন ডিফাইন করেছি। দ্বিতীয় লাইনে (ফাংশন বডিতে) pass স্টেটমেন্টটি ব্যবহার করেছি, এর অর্থ হলো: আমি ফাংশন ডিফাইন করেছি ঠিকই কিন্তু কোনো কোড এক্সিকিউট করতে চাচ্ছি না। তাই আমি ফাংশন বডিতে কোনো কোড লিখিনি। তৃতীয় লাইনে ফাংশনটি কল করেছি, কিন্তু কোডটি রান করে কোন আউটপুট পাইনি।
আউটপুট:
এখন আমরা pass স্টেটমেন্ট ব্যবহার করে আরেকটি প্রোগ্রাম লিখব।
কোড:
language = 'Bangla'
for letter in language:
if letter == 'g':
pass
else:
print(letter)
উপরের কোডের প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি। দ্বিতীয় লাইনে একটি ফর লুপ ডিফাইন করেছি, যেখানে letter ইটারেটর language নামক স্ট্রিং থেকে একেকটি করে সবগুলো ক্যারেক্টর গ্রহণ করবে। তৃতীয় লাইনে ‘ if ’ এর পরে একটি কন্ডিশন (letter == 'g': অর্থ: যদি ক্যারেক্টারটি g হয়) দিয়ে চেক করেছি যে, যদি যদি ক্যারেক্টারটি g হয়, তাহলে চতুর্থ লাইনটি (pass স্টেটমেন্ট) এক্সিকিউট কর। অর্থাৎ কিছুই ঘটবে না। তাইতো কোডটি রান করলে g ছাড়া ‘Bangla’ স্ট্রিংয়ের সবগুলো ক্যারেক্টার প্রিন্ট হয়েছে।
আউটপুট:
B
a
n
l
a
ক্লাস ডিফাইন করতেও আমরা একই কাজ করতে পারি।
class Student:
pass
0