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

0
575

আমার প্রিয় বন্ধুরা , অনেক দিন পর আপনাদের মাঝে হাজির হলাম পাইথন নিয়ে । আমি আজ আলোচনা করব পাইথন মডিউল নিয়ে ।

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

import calendar
year = int(input("Type in the year number: "))
calendar.prcal(year)

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

from calendar import prcal
year = int(input("Type in the year number: "))
prcal(year)

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

import math
num = float(input("enter number : "))
print(math.factorial(num))

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

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

a = open("a.txt","wt")
a.write("Hi friends, now i know the basic of python, what's the next ??? ")
a.close()

দেখুন 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”) এর অর্থ হল :

ভ্যরিয়েবল = কমান্ড(“ফাইলের নাম . ফাইল ফরম্যাট”, “মেথড “)

আশা করি বিষয়টা আপনাদের কাছে ক্লিয়ার হয়েছে । দেখুন সেম আরেকটি উদাহরণ । এটি মডিউল ও ফাইল এর সম্মিলিত কাজ ।

import os
os.remove("a.txt")

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

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

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

Please comment Here (ভাল লাগলে কমেন্ট করুন)