একটি মডিউল মূলত একটি ফাইল যাতে পাইথন কোডের অনেক লাইন থাকে যা অন্যান্য পাইথন প্রোগ্রাম দ্বারা রেফার বা ব্যবহার করা যেতে পারে। একটি বড় পাইথন প্রোগ্রামকে সংগঠিত করা উচিত যাতে প্রোগ্রামের বিভিন্ন অংশ আলাদা আলাদা মডিউলে থাকে। এটি ডিবাগিং, এনহ্যান্সমেন্ট এবং প্রোগ্রামকে দক্ষতার সাথে প্যাকেজিং-এ সাহায্য করে। যেকোনো পাইথন প্রোগ্রামে একটি মডিউল ব্যবহার করার জন্য আমাদের প্রথমে এটি নতুন প্রোগ্রামে ইম্পোর্ট করতে হবে। এই মডিউল থেকে সমস্ত ফাংশন, মেথড ইত্যাদি নতুন প্রোগ্রামে উপলব্ধ হবে।
ইম্পোর্ট স্টেটমেন্টের সাথে
চলুন profit.py নামে একটি ফাইল তৈরি করি যাতে নিচের মত একটি নির্দিষ্ট গণনার প্রোগ্রাম থাকে।
উদাহরণ
def getprofit(cp, sp):
result = ((sp-cp)/cp)*100
return result
এখন আমরা উপরের ফাংশনটি অন্য একটি পাইথন প্রোগ্রামে ব্যবহার করতে চাই। আমরা নতুন প্রোগ্রামে ইম্পোর্ট ফাংশন ব্যবহার করে এই মডিউল এবং এর getprofit নামে ফাংশনটি রেফার করতে পারি।
উদাহরণ
import profit perc = profit.getprofit(350, 500) print(perc)
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফলটি मिलবে −
42.857142857142854
ফ্রম মডিউল ইম্পোর্টের সাথে
সম্পূর্ণ মডিউলের পরিবর্তে একটি মডিউল থেকে শুধুমাত্র একটি নির্দিষ্ট মেথড ইম্পোর্ট করা যেতে পারে। তার জন্য আমরা from Module import স্টেটমেন্ট ব্যবহার করি যেমন নিচে দেখানো হয়েছে। নিচের উদাহরণে আমরা math মডিউল থেকে pi এর মান ইম্পোর্ট করি যাতে প্রোগ্রামে কিছু গণনায় ব্যবহার করা যায়।
উদাহরণ
from math import pi x = 30 * pi print(x)
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফলটি मिलবে −
94.24777960769379
মডিউল গবেষণা
যদি আমরা বিভিন্ন বিল্ট-ইন মডিউলের লোকেশন জানতে চাই তবে আমরা sys মডিউল ব্যবহার করে জানতে পারি। একইভাবে একটি মডিউলে উপলব্ধ বিভিন্ন ফাংশন জানতে আমরা dir মেথড ব্যবহার করতে পারি যেমন নিচে দেখানো হয়েছে।
উদাহরণ
import sys import math print(sys.path) print(dir(math))
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফলটি मिलবে −
['', 'C:\\Windows\\system32\\python38.zip', 'C:\\Python38\\DLLs', 'C:\\Python38\\lib', 'C:\\Python38', 'C:\\Python38\\lib\\site-packages'] ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']