আমাদের কথা খুঁজে নিন

   

মজার প্রোগ্রামিং, সহজ প্রোগ্রামিং [পর্ব-১০] :: পাইথন প্রোগ্রামিং

আমার প্রিয় বন্ধুরা , অনেক দিন পর আপনাদের মাঝে হাজির হলাম পাইথন নিয়ে । আমি আজ আলোচনা করব পাইথন মডিউল নিয়ে ।
পাইথন মডিউল : এর আগে আমরা যেমন নিজেরা বিভিন্ন প্রোগ্রাম তৈরী করেছি নিজেরা, ঠিক তেমনই পাইথনে ডেভলপাররা আগে থেকেই অনেক ছোট বড় প্রোগ্রাম তৈরী করে রেখেছেন আমাদের মত প্রোগ্রামারদের জন্য । আমরা ইচ্ছা করলেই যেকোন সময় একটা নির্দিষ্ট কমান্ড এর মাধ্যমে এসব প্রোগ্রাম নিয়ে আমাদের কাজ সারতে পারি । এগুলো পাইথন লাইব্রেরীতে ডিফল্ট অবস্থায় দেওয়া আছে আমাদের কাজকে সহজ করে দেওয়ার জন্য ।

আসুন একটা উদাহরণ এর মাধ্যমে এর ব্যবহার বিধি সম্পর্কে জেনে নিই ।
দেখু এখানে এই কোডগুলো লেখার মাধ্যমে আমরা পাইথন সেলে একটা ক্যলেন্ডার প্রিন্ট করতে পেরেছি । এবার আমুন কোডটা বুঝি । আমরা প্রথমে import calendar কোডের মাধ্যমে পাইথন লাইব্রেরী থেকে ক্যালেনডার নামক একটি মডিউল ইমপোর্ট করেছি । তারপর আমরা কোন সাল প্রিন্ট করেত হবে সেটা ব্যবহার কারীর কাছ থেকে ইনপুট নিয়েছে ।

এরপরের কোডটাই হল আসল । calendar.prcal(year) কোডের মাধ্যমে আমরা বলেছি যে ক্যালেনডার থেকে prcal() এর মধ্যে যে সাল টা আছে সেটা প্রিন্ট করে দাও । prcal এর অথৃ হল বর্তমানে যে ক্যলেন্ডার ইনপুট দেওয়া আছে সেটা । pr এর ফুল মিনিং হল প্রেসেন্ট । আর দাও prcal টা হল পাইথনের calendar মডিউলের একটি সাব মডিউল ।

আবার উপরের কোডটাকে আমরা নিচের মত করেও লিখতে পারি ।
এখানে আমরা বলেছি যে calendar মডিউলের সব ইমপোর্ট না করে শুধূ prcal টা ইমপোর্ট করো । এরপর ক্যালেন্ডার প্রিন্ট করো । এই কোড লেখার ফলে আমাদের শেষের লাইনে দেখুন কথা একটা কম বলতে হয়েছে । আর একটা এই ধরণের কোড দেখুন :
দেখূন এখান আমি math নামক মডিউল ইমপোর্ট করেছি তারপর ইউজার ইমপোর্ট নিয়ে তার ফ্যাকটোরিয়াল প্রিন্ট করেছি ।

আপনারা math নামক মডিউল থেকে ইমপোর্ট নিয়ে একটা সায়েন্টিফিক ক্যালকুলেটরও তৈরী করতে পারেন । এভাবে আপনারা আরও অনেক মডিউল পাবেন এখানে : http://docs.python.org/2/tutorial/modules.html । এখানে মডিউল এর ব্যবহার বিধি সহ লেখা আছে । তবে হয়তোবা এগুলো পাইথন ২.৭ এর জন্য দেওয়া থাকতে পারে । আপনাকে সেগুলো একটু ৩.০ এর মত করে ইউজ করতে হবে ।


পাইথন File IO : এখন আমি অপনাদের দেখাব পাইথনে ফাইল নিয়ে কীভাকে নাড়াচাড়া করতে হয় । একে বলা হয় "File IO" । এটি খুবই একটি সহজ কাজ । আমি আপনাদের খুবই সহজ ভাবে এটি দেখাচ্ছি । যদিও ওর ব্যবহার অনেক বড় ।

আমার সাথে সবাই নিচের কোডটি লিখুন ।
দেখুন open ফাংশনের মাধ্যমে আমরা প্রথমে একটি ফাইল নিয়েছি a.txt নামে a ভ্যরিয়েবলের মাধ্যমে । । এরপর এটি কী করতে হবে তা আমরা বলে দিয়েছি wt কোডের মাধ্যমে । wt এর অর্থ হল লেখা ।

এরপর আমরা close লেখার দ্বারা ফাইলটি বন্ধ করে দিয়েছি । a.write কোডের মাধ্যমে আমরা ফাইলটির মধ্যে " Hi friends, now i know the basic of python, what's the next ??? " শব্দগুলি লিখেছি । এবার প্রোগ্রামটি .py তে ডেক্সটপের উপর সেভ করে রান করান এবং দেখুন আপনার ডেক্সটপের উপর a.txt নামের কোন ফইল থাকলে তাতে লেখাগুলি প্রিন্ট হয়েছে , আর না থাকলে পাইথন নিজে থেকেই ফাইলটি ক্রিয়েট করে নিয়েছে । অর্থাৎ এখানে a = open("a.txt","wt") এর অর্থ হল :
ভ্যরিয়েবল = কমান্ড("ফাইলের নাম . ফাইল ফরম্যাট", "মেথড ")
আশা করি বিষয়টা আপনাদের কাছে ক্লিয়ার হয়েছে । দেখুন সেম আরেকটি উদাহরণ ।

এটি মডিউল ও ফাইল এর সম্মিলিত কাজ ।
এই কমান্ড টি a.txt নামের ফাইলটিকে ডিলিট করবে । আর এটা করার জন্য os নামক মডিউলকে আমাদের ডেকে নিতে হবে । এবার ফাইলটি সেভ করে রান করান । দেখুন ফাইলটি ডিলিট হয়ে গেছে ।

এবার "File IO" এর সব কমান্ড গুলো দেখুন :

আর নিচে থেকে এর বিভিন্ন মুড গুলো দেখে নিন :

এই হল পাইথনের বেসিকগুলো । অবশ্য আরও কিছু জিনিস বাদ পড়েছে, তবুও আমার মনে হয় এই পর্যন্ত জানলে আপনারা বাকী গুলো নিজেরাই বুঝতে পারবেন । আর পাইথন মডিউল টা লাইব্রেরী থেকে ভালভাবে দেখে আসুন । যত বেশ মডিউলের কাজ জানবেন ততই আপনি কাজ করে মজা পাবেন ও আপনার খাটুনি কমে যাবে । আর যদি সময় পাই তবে পরবর্তীতে পাইথনের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সম্পর্কে আলোচনা করতে চেষ্টা করব ।

সবাইকে ধন্যবাদ এতপর্ব পর্যন্ত আমার সাথে থাকার জন্য । হয়তো আর চেইন টিউন করতে পারব না । আপনাদের কোন সমস্যা হলে আমাকে ফেসবুকে মেসেজ করতে পারেন । যদি সাধ্য থাকে তবে সমস্যা সমাধানের চেষ্টা করব ।


সোর্স: http://www.techtunes.com.bd/     দেখা হয়েছে ৩২ বার

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.