এই বক্তৃতাটি পাইথনের আরেকটি অপরিহার্য কাঠামো সম্পর্কে, যাকে বলা হয় টিপল।
টুপলস
Tuples তালিকার অনুরূপ, তাই আমরা আইটেম একটি তালিকা সংরক্ষণ করতে তাদের ব্যবহার করতে পারেন. কিন্তু তালিকার বিপরীতে, আমরা সেগুলি সংশোধন করতে, নতুন আইটেম যোগ করতে বা বিদ্যমান আইটেমগুলি সরাতে পারি না। আমরা বলতে পারি যে টিপলগুলি অপরিবর্তনীয়।
আমাকে দেখান. তালিকায় বর্গাকার বন্ধনীর পরিবর্তে বন্ধনী দ্বারা Tuples চিহ্নিত করা হয়।
numbers = (4, 1, 7, 5, 0, 9)
এখন, যদি আমরা টিপলের জন্য পদ্ধতির তালিকা বের করি, আপনি দেখতে পাবেন যে আমাদের কাছে যোগ বা সন্নিবেশ পদ্ধতি নেই তাই এই টিপলে নতুন আইটেম যোগ করা যাবে না। আমাদের শুধুমাত্র দুটি পদ্ধতি আছে: গণনা এবং সূচক।
আমরা একটি আইটেমের ঘটনার সংখ্যা গণনা করতে "গণনা" ব্যবহার করি। "সূচী" একটি আইটেমের প্রথম ঘটনার সূচী খুঁজে পেতে ব্যবহৃত হয়। সুতরাং, আমরা শুধুমাত্র একটি টিপল সম্পর্কে তথ্য পেতে পারি, এবং আমরা এটি পরিবর্তন করতে পারি না। যাইহোক, এই অন্যান্য পদ্ধতি যা আপনি এখানে দেখছেন, দুটি আন্ডারস্কোর দিয়ে শুরু করুন।
আমরা এগুলিকে যাদু পদ্ধতি হিসাবে উল্লেখ করি। এগুলি একটি উন্নত বিষয়, এবং আমরা আমাদের ভবিষ্যতের সিরিজে সেগুলিকে স্পর্শ করব৷
অপরিবর্তনীয় হওয়া ছাড়া, টিপল একটি তালিকার বেশিরভাগ বৈশিষ্ট্য ভাগ করে নেয়।
কার্যত বলতে গেলে, বেশিরভাগ সময় আপনি তালিকা ব্যবহার করবেন, তবে টিপলগুলিও দরকারী। আপনি যদি আইটেমগুলির একটি তালিকা তৈরি করতে চান এবং নিশ্চিত হন যে আপনার প্রোগ্রামের কোথাও আপনি ভুলবশত সেই তালিকাটি সংশোধন করেছেন না, তাহলে একটি টিপল ব্যবহার করা ভাল।
আন-প্যাক
এই বিভাগে, আমি আপনাকে একটি শক্তিশালী বৈশিষ্ট্য দেখাতে যাচ্ছি, আমরা পাইথনে আনপ্যাকিং নামে পরিচিত।
আসুন একটি টিপল "সমন্বয়" সংজ্ঞায়িত করি
coordinate = (1, 2, 3)
এখন, কল্পনা করুন এগুলি হল 'x', 'y' এবং 'z'-এর স্থানাঙ্ক। এখন বলা যাক, আমরা এই মানগুলি পেতে চাই এবং আমাদের প্রোগ্রামে কয়েকটি জটিল অভিব্যক্তিতে ব্যবহার করতে চাই। হতে পারে, আমরা তাদের একটি বড় জটিল সূত্রের অংশ হিসেবে অন্তর্ভুক্ত করতে চাই।
সুতরাং, একসাথে আমাদের এই মত কোড লিখতে হবে:
coordinate[0] * coordinate[1] * coordinate[2]
কোডের এই লাইনটি সমস্ত স্থানাঙ্ককে গুণ করবে কিন্তু আমাদের কোডটি এভাবে লেখার জন্য এটি অদক্ষ। প্রথমে, আসুন একটি ভাল পদ্ধতি ব্যবহার করি এবং এই স্থানাঙ্কগুলিকে পৃথক ভেরিয়েবলে সংরক্ষণ করি।
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
ওটা ভাল. ঠিক? তাই এখন পর্যন্ত নতুন কিছু নেই। এখন, আমি আপনাকে আনপ্যাকিং নামে একটি শক্তিশালী বৈশিষ্ট্য দেখাই এবং এর সাথে, আমরা অনেক কম কোডের সাথে একই ফলাফল অর্জন করতে পারি।
x, y, z, = coordinate
এখন, কোডের এই একক লাইনটি উপরে লেখা কোডের তিনটি লাইনের হুবহু সমতুল্য। আমাকে এটা কিভাবে কাজ করে আপনি ব্যাখ্যা করা যাক.
পাইথন ইন্টারপ্রেটার যখন এই বিবৃতিটি দেখবে, তখন এটি এই টিপলে প্রথম আইটেমটি পাবে এবং এটি ভেরিয়েবলে বরাদ্দ করবে। একইভাবে, দ্বিতীয় এবং তৃতীয় আইটেমগুলি ভেরিয়েবলগুলিতে বরাদ্দ করা হবে। এটি করার জন্য, আমরা এই টিপলটিকে 3টি ভেরিয়েবলে আনপ্যাক করছি। আমাদের আউটপুট পরীক্ষা করা যাক.
আনপ্যাকিং তালিকা দিয়েও করা যেতে পারে।
অভিধানের
আমরা পাইথনের অভিধান সম্পর্কে জানতে যাচ্ছি। আমরা এমন পরিস্থিতিতে অভিধান ব্যবহার করি যেখানে আমরা কী-মান জোড়া হিসাবে আসে এমন তথ্য সংরক্ষণ করতে চাই।
এখানে একটি উদাহরণ. নাম, ইমেল, ফোন নম্বর, ঠিকানা ইত্যাদির মতো গুণাবলীর গুচ্ছ সহ একজন গ্রাহকের কথা চিন্তা করুন। এখন এই গুণাবলী প্রতিটি একটি মান আছে. উদাহরণ স্বরূপ:
name = Jay
email = [email protected]
এই উদাহরণে, আমাদের কীগুলি হল নাম, ইমেল এবং ফোন৷ প্রতিটি কী একটি মানের সাথে যুক্ত তাই এখানেই আমরা একটি অভিধান ব্যবহার করি। একটি অভিধানের মাধ্যমে, আমরা একগুচ্ছ কী-মান জোড়া সঞ্চয় করতে পারি। আমি আপনাকে পাইথনে একটি অভিধান কীভাবে সংজ্ঞায়িত করতে পারি তা দেখাই।
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
কীটি স্ট্রিং, সংখ্যা, বুলিয়ান বা যেকোনো কিছুতে সেট করা যেতে পারে। কীগুলি অনন্য এবং শুধুমাত্র একবার সংজ্ঞায়িত করা যেতে পারে, অর্থাৎ আমি অন্য কোন সংখ্যা দিয়ে আবার "বয়স" সংজ্ঞায়িত করতে পারি না। তারা কেস-সংবেদনশীলও।
এখন, যদি আমি টাইপ করি customer["name"],
এটি গ্রাহকের নাম ডাকবে। টার্মিনালে প্রিন্ট করা যাক:
আমরা অভিধান সহ পদ্ধতিগুলিও ব্যবহার করতে পারি। উপরে প্রদর্শিত একই ফাংশন "পান" পদ্ধতি ব্যবহার করে প্রতিলিপি করা যেতে পারে।
উপরের দুটি পদ্ধতির মধ্যে একটি বিশেষ পার্থক্য রয়েছে। আমাকে যে প্রদর্শন করা যাক.
আপনি দেখতে পাচ্ছেন যে যখন আমরা কেবল একটি অস্তিত্বহীন কী মুদ্রণ করি, এটি একটি ত্রুটির কারণ হয়। অন্যদিকে, অস্তিত্বহীন কীকে কল করার পদ্ধতিটি ব্যবহার করে একটি "কোনটি" ফলাফল পাওয়া যায় যা একটি মানের অনুপস্থিতিকে প্রতিনিধিত্ব করে। "গেট" পদ্ধতি ব্যবহার করার সময়, আমরা একটি ডিফল্ট মানও সরবরাহ করতে পারি।
উদাহরণস্বরূপ, যদি এই অভিধানে একটি "জন্মতারিখ" কী না থাকে, তাহলে আমরা এটি এভাবে সরবরাহ করতে পারি:
customer.get("birthdate", "Jan 01, 1994")
আমরা অভিধানের যেকোন কী আপডেট করতে পারি, একটি তালিকার মতো। ধরা যাক আমরা আমাদের অভিধানে নাম কী আপডেট করতে চাই। এখানে আমরা কিভাবে এটা করতে হবে.
customer["name"] = "Shahbaz"
আমাদের অভিধানে একটি নতুন কী যোগ করতে একই ধরনের সিনট্যাক্স ব্যবহার করা যেতে পারে। আসুন একইভাবে "জন্ম তারিখ" যোগ করি।
customer["birthdate"] = "Jan 01, 1994"
সুতরাং, এটি পাইথনে অভিধান ব্যবহার করার মৌলিক বিষয়। এগুলি অত্যন্ত গুরুত্বপূর্ণ এবং বাস্তব জগতে তাদের প্রচুর অ্যাপ্লিকেশন রয়েছে৷
ব্যায়াম
আপনি একটি প্রোগ্রাম লিখতে যাচ্ছেন যা অঙ্কগুলিকে এইরকম শব্দে রূপান্তর করে:
সমাধান
এখানে আপনি বলছি জন্য সমাধান.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
একইভাবে, আপনি একটি "ইমোজি কনভার্টার"-এর মতো অন্যান্য মজার প্রোগ্রাম তৈরি করতে পারেন মজা পাইথোনার্স!
শেষ করি!
আমি আশা করি আপনি এই বক্তৃতা উপভোগ করেছেন. এর পরে, আমরা পাইথন প্রোগ্রামিং, ফাংশন এবং পরামিতিগুলির একটি উল্লেখযোগ্য দিক নিয়ে যেতে যাচ্ছি।
নির্দেশিকা সমন্ধে মতামত দিন