পাইথন ইমিউটেবল ডেটা টাইপ হিসেবে টাপল অফার করে। এই নিবন্ধে আমরা পাইথন ৩.x-এ টাপল টাইপ প্যাকিং এবং আনপ্যাকিং শিখব।
টাপল প্যাকিং এবং আনপ্যাকিং
পাইথন একটি শক্তিশালী টাপল অ্যাসাইনমেন্ট টুল অফার করে যা রাইট হ্যান্ড সাইড আর্গুমেন্টগুলোকে লেফট হ্যান্ড সাইড আর্গুমেন্টসে ম্যাপ করে। এই ম্যাপিং একসাথে করার কাজকে টাপল ভ্যালুগুলোর আনপ্যাকিং বলা হয় একটি নরমাল ভেরিয়েবলে। যেকোনো প্যাকিং-এ, আমরা রেগুলার অ্যাসাইনমেন্ট দিয়ে ভ্যালুগুলোকে একটি রেগুলার টাপলে রাখি।
এখন এর বাস্তবায়নটি দেখা যাক:
উদাহরণ
# টাপল ভেরিয়েবলগুলোকে একটি ভেরিয়েবল নামের অধীনে প্যাকিং
tup = ("Tutorialspoint", "Python", "Unpacking a tuple")
# টাপল ভেরিয়েবলগুলোকে আর্গুমেন্ট গ্রুপে আনপ্যাকিং
(website, language, topic) = tup
# ওয়েবসাইট নাম প্রিন্ট
print(website, "\t", language, "", topic)
আউটপুট
Tutorialspoint Python Unpacking a tuple
টাপল আনপ্যাকিং-এর সময়, লেফট হ্যান্ড সাইডের টোটাল ভেরিয়েবল সংখ্যা দেওয়া টাপল tup-এ টোটাল ভ্যালু সংখ্যার সমান হতে হবে।
পাইথন আrbit্রারি লেন্থের টাপল আনপ্যাকিং-এর জন্য অপশনাল আর্গুমেন্ট (*arguments) সিনট্যাক্স দেয়। সব ভ্যালু তাদের স্পেসিফিকেশন অর্ডার অনুযায়ী প্রতিটি ভেরিয়েবলে অ্যাসাইন হবে এবং বাকি সব ভ্যালু *arguments-এ অ্যাসাইন হবে। নিচের কোড বিবেচনা করুন।
উদাহরণ
# টাপল ভেরিয়েবলগুলোকে একটি ভেরিয়েবল নামের অধীনে প্যাকিং
tup = ("Tutorialspoint", "Python", "3.x.", ":Data Structure", "Unpacking a tuple")
# টাপল ভেরিয়েবলগুলোকে আর্গুমেন্ট গ্রুপে আনপ্যাকিং
(website, *language, topic) = tup
# ওয়েবসাইট নাম প্রিন্ট
print(website, "\t", *language, "", topic)
আউটপুট
Tutorialspoint Python 3.x. :Data Structure Unpacking a tuple
পাইথনে ফাংশন ব্যবহার করেও টাপল আনপ্যাক করা যায় যেখানে ফাংশনে টাপল পাস করা হয় এবং ফাংশনে ভ্যালুগুলো আনপ্যাক হয় নরমাল ভেরিয়েবলে। নিচের কোড ব্যাখ্যা করে আর্বিট্রারি সংখ্যক আর্গুমেন্ট কিভাবে ডিল করা যায়।
"*_" আربিট্রারি সংখ্যক আর্গুমেন্ট টাপলে স্পেসিফাই করতে ব্যবহৃত হয়।
উদাহরণ
# টাপল ভেরিয়েবলগুলোকে একটি ভেরিয়েবল নামের অধীনে প্যাকিং
tup = ("Tutorialspoint", "Python", "3.x.", "Data Structure:", "Unpacking a tuple")
# টাপল ভেরিয়েবলগুলোকে আর্গুমেন্ট গ্রুপে আনপ্যাকিং এবং অনাযক্ত আর্গুমেন্ট স্কিপ
(website, *_, typ, topic) = tup
# ওয়েবসাইট নাম প্রিন্ট
print(website, "\t", typ, "", topic)
আউটপুট
Tutorialspoint Data Structure: Unpacking a tuple
যদি আমরা শুধু একটি আর্গুমেন্ট স্কিপ করতে চাই তবে "*_" কে "_" দিয়ে রিপ্লেস করতে পারি।
উপসংহার
এই নিবন্ধে আমরা টাপল প্যাক এবং আনপ্যাক করার বিভিন্ন পদ্ধতি শিখেছি।