মডিউল এবং প্যাকেজ

Standard Library Modules

 

পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে অনেক গুলো মডিউল রয়েছে। যে গুলো আমরা আমাদের প্রজেক্টে ইম্পোর্ট করতে পারি এবং মডিউলের মেথড গুলো ব্যবহার করতে পারি।

এখানে গিয়ে সব গুলো লিস্ট পাওয়া যাবে।অনেক গুলো মডিউল আমরা দেখতে পাবো। এগুলোতে একবার চোখ বুলিয়ে নেওয়া যেতে পারে। কোন মডিউল দিয়ে কি করা যায়, এসব জানলেই হবে। এরপর যখন দরকার হবে আমরা রেফারেন্স দেখে আমাদের প্রজেক্টে প্রয়োগ করতে পারব।

আমরা দুই একটা উদাহরণ দেখব।

 

math — Mathematical functions

math.ceil(x)

ceil এর কাজ হচ্ছে একটা ফ্লোটিং পয়েন্ট এর পরের ইন্টিজার ভ্যালু দেওয়া। পরের বলতে যদি একটা ফ্লোটিং পয়েন্ট ভ্যালু হয় 6.2 এটার ceil ভ্যালু হবে 7, যদিও আমরা সাধারনত 6.2 এর কাছা কাছি ইন্টিজার হিসেব করি 6. আবার 6.9 এর ceil ভ্যালু হচ্ছে 7।

import math
print (math.ceil(6.2 ))

 

math.floor(x)

floor এর ক্ষেত্রে হয় ceil এর উলটো। ফ্লোট্রিং পয়েন্টের দশমিক মান যত বড়ই হোক, floor আমাদের তার আগের ইন্টিজার ভ্যালুটি আমাদের দিবে। আগের বলতে যদি একটা ফ্লোটিং পয়েন্ট ভ্যালু হয় 6.9 এটার floor ভ্যালু হবে 6, যদিও আমরা সাধারনত 6.9 এর কাছা কাছি ইন্টিজার হিসেব করি 7

import math
print (math.floor(6.9 ))
math.sqrt(x)

sqrt একটা সংখ্যার বর্গমূল বের করার জন্য ব্যবহার করা হয়ঃ

import math
print (math.sqrt(9))

sin, cos, ten এসবের মান ও আমরা সহজে বের করতে পারি। যেমন

math.cos(x) রেডিয়ানের cos ভ্যালু দিবে আমাদের। cos (0) এর মান আমরা জানি ১, প্রোগ্রামটি রান করালে তাই আউটপুট পাবো আমরাঃ

import math
print (math.cos(0 ))

এভাবে ম্যাথ লাইব্রেরীর অন্যান্য মেথড গুলো আমরা দেখে নিতে পারি।

random

random লাইব্রেরী ব্যবহার করে আমরা রেন্ডম নাম্বার তৈরি করতে পারি। যেমনঃ

import random
print ( random.random())

এটি আমাদের ০-১ এর মধ্যে একটা রেন্ডম নাম্বার দিবে। আমরা ইচ্ছে করলে একটা রেঞ্জ দিয়ে দিতে পারি। যার মধ্যে আমরা রেন্ডম নাম্বারটি চাইঃ

import random
print ( random.randrange( 10))

এটি আমাদের ১ থেকে ১০ এর মধ্যে যে কোন একটা রেন্ডম নাম্বার দিবে।

আমরা চাইলে নির্দিষ্ট রেঞ্জের ভেতর রেন্ডম নাম্বার তৈরি করতে পারি, যেমনঃ

import random
print ( random.randrange(20 , 100 ))

এটি ২০-১০০ এর মধ্যে একটা রেন্ডম নাম্বার দিবে।
পাইথন মডিউল ও PyPi

আমরা যখন বড় সড় কোন প্রজেক্টে কাজ করব, তখন প্রজেক্টের এক একটা ফিচার এক একটা ফাইলে আলাদা করে রাখব। আর এই আলদা করে রাখাটাই হচ্ছে মডিউল। মডিউল আকারে কোড লিখলে অন্য যে কোন প্রজেক্টে ঐ একই মডিউল ব্যবহার করতে পারি। আরেকটা সুবিধে হচ্ছে ডিস্টিবিউশন। আমরা চাইলে মডিউল তৈরি করে যে কারো সাথে আমাদের মডিউল শেয়ার করতে পারি।
মডিউল আর কিছুইই না, আলাদা একটা ফাইল। ফাইলের নাম হচ্ছে মডিউলের নাম। যেমন odds.py নামে আমাদের একটা মডিউল আছে। যার মধ্যে getOdds নামে একটা মেথড রয়েছে। যেটাকে কল করলে আমাদের কিছু বিজোড় সংখ্যার লিস্ট দিবে। কল করার সময় আমরা বলে দিতে পারব কয়টা কত পর্যন্ত লিস্ট চাচ্ছি। তো এমন একটা মডিউলটা সহজেই আমরা তৈরি করে নিতে পারি। PyCharm ব্যবহার করে থাকলে প্রজেক্টের উপর রাইট ক্লিক করে New > File এ ক্লিক করব।

এরপর ফাইলের একটা নাম দিব। যেমন odds.py। এরপর এতে নিচের কোড গুলো লিখবঃ

def getOdds(n):
    result = []
    b = 1
    while b < n:
        result.append(b)
        b +=2
    return result

অন্য যে কোন আইডিইতেও একই ভাবে ফাইল তৈরি করা যাবে। শুধু খেলার রাখতে হবে প্রজেক্ট মানে মূল ফাইলটা যে ফোল্ডারে, রয়েছে, odds.py ও একই ফোল্ডারে যেন থাকে।
এবার আমরা আমাদের মূল প্রোগ্রামে এই মডিউলটা ইম্পোর্ট করে ব্যবহার করতে পারব এভাবেঃ

import odds
print(odds.getOdds(10))

পাইথনের স্ট্যান্ডার্ড প্যাকেজের মতই আমরা ইম্পোর্ট করতে পারি। ইম্পোর্ট করতে হয় ফাইলের নাম ব্যবহার করে। odds.py হচ্ছে আমাদের ফাইলের না, এখানে .py অংশটা লিখতে হয় না।

getOdds হচ্ছে odds মডিউলের একটা মেথড। আমরা এরপর একে কল করলাম। প্যারামিটার হিসেবে পাস করেছি ১০। এটি আমাদের ১-১০ পর্যন্ত বিজোড় সংখ্যা গুলোর লিস্ট রিটার্ণ করবে। এরপর আমরা তা প্রিন্ট করেছি।

আমরা এখানে খুব সহজ একটা মডিউল তৈরি করেছি। কিন্তু আমরা শিখে গিয়েছি কিভাবে মডিউল তৈরি করা যায়। কি ভাবে মডিউলকে ব্যবহার করতে হয়। এবার আপনি চাইলে নিজের ক্রিয়েটিভিটি প্রয়োগ করে যে কোন মডিউল তৈরি করে নিতে পারেন নিজের প্রয়োজন মত করে।

থার্ড পার্টি মডিউল

পাইথনের স্ট্যান্ডার্ড লাইব্রেরীর মডিউল গুলো ছাড়াও আমরা থার্ড পার্টি মডিউল ব্যবহার করতে পারি। প্রোগ্রামাররা যে কোড গুলো লিখে সবার ব্যবহার করার জন্য উন্মুক্ত করে দিয়েছে, আমরা সে সব কোড গুলোও আমাদের প্রজেক্টে ব্যবহার করতে পারি। মডিউল হচ্ছে একটা সিঙ্গেল ফাইল, যার মধ্যে অনেক গুলো মেথড থাকে। অনেক গুলো ফাইল মিলে তৈরি হয় একটা প্যাকেজ। এক একটা প্যাকেজ এক একটা কাজে ব্যববার করা যায়। এমন থার্ড পার্টি অনেক প্যাকেজের ইন্ডেক্স হচ্ছে PyPi। সব গুলো পাওয়া যাবে https://pypi.python.org/pypi এ।

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

PyPi এর প্যাকেজ গুলো ব্যবহার করার জন্য আমাদের Pip ইন্সটল করে নিতে হবে। Pip ব্যবহার করে ঐ প্যাকেজ গুলো আমরা আমাদের প্রজেক্টের জন্য প্রথমে ডাউনলোড করব এবং প্রজেক্টে ইম্পোর্ট করে ব্যবহার করতে পারব। পাইথনের স্ট্যান্ডার্ড প্যাকেজ গুলো সেভাবে ব্যবহার করা যায়, ঠিক সেভাবে। তার জন্য https://pip.pypa.io/en/latest/installing.html এখানে গিয়ে get-pip.py পাইথন ফাইলটা কম্পিউটারে সেভ করতে হবে। যেমন আমরা সেভ করলাম Desktop এ।
কমান্ডলাইনে ডিরেক্টরি পরিবর্তন করে Desktop এ এসে নিচের কমান্ডটা রান করলে Pip আমাদের কম্পিউটারে ইনস্টল হবেঃ
python get-pip.py
তাহলে Pip আমাদের কম্পিউটারে ইন্সটল হবে যা আমাদের জন্য setuptools ইন্সটল করে দিবে। এবার আমরা যে কোন প্যাকেজ ইন্সটল করার জন্য প্রস্তুত।

4 thoughts on “মডিউল এবং প্যাকেজ

    1. রাইট ক্লিক করে সেভ করার অপশন পাবেন। CD(Chnage Directory) use করে। যেমন cd Desktop

  1. Vaiya ami nije package create kore kivave use korbo akto easy vabe jodi bolten please..ami youtube dke try korci..but Traceback (most recent call last):
    File “”, line 1, in
    import circle
    ImportError: No module named circle aita ase…kindly jodi help korten..

Leave a Reply