ماژول در پایتون چیست؟

در پایتون، Module یا ماژول فایلی است که معمولاً شامل کدهای پایتون مانند توابع، متغیرها و کلاس‌ها است. استفاده از ماژول‌ها باعث می‌شود بتوانیم کدهای خود را مرتب‌تر و قابل استفاده مجدد بنویسیم.

ماژول چیست؟

یک فایل با پسوند .py می‌تواند یک ماژول پایتون باشد. برای مثال اگر فایلی با نام math_tools.py داشته باشیم، می‌توانیم توابع مختلفی را داخل آن قرار دهیم و در فایل‌های دیگر از آن‌ها استفاده کنیم.

چرا از ماژول‌ها استفاده می‌کنیم؟

دستور import در پایتون

برای استفاده از یک ماژول معمولاً از دستور import استفاده می‌کنیم.

import math

در این مثال ماژول داخلی math را وارد کرده‌ایم. این ماژول تعدادی ابزار ریاضی آماده در اختیار ما قرار می‌دهد.

استفاده از ماژول math

برای مثال می‌توانیم با استفاده از تابع sqrt() جذر یک عدد را محاسبه کنیم:

import math

result = math.sqrt(25)

print(result)

خروجی:

5.0

در اینجا math.sqrt() یعنی تابع sqrt را از ماژول math استفاده می‌کنیم.

استفاده از ثابت‌های ماژول math

ماژول math فقط شامل تابع نیست و ثابت‌های مفیدی نیز دارد. برای مثال:

import math

print(math.pi)

متغیر math.pi مقدار تقریبی عدد پی را در اختیار ما قرار می‌دهد.

استفاده از from

گاهی اوقات نمی‌خواهیم کل ماژول را به صورت مستقیم صدا بزنیم. می‌توانیم یک تابع مشخص را با استفاده از from وارد کنیم.

from math import sqrt

print(sqrt(36))

خروجی:

6.0

در این حالت دیگر نیازی به نوشتن math.sqrt() نداریم و می‌توانیم مستقیماً از sqrt() استفاده کنیم.

استفاده از چند تابع با from

from math import sqrt, pi

print(sqrt(49))
print(pi)

استفاده از alias با as

با استفاده از as می‌توانیم برای یک ماژول یا تابع نام کوتاه‌تری انتخاب کنیم.

import math as m

print(m.sqrt(64))

در این مثال به جای نوشتن math از نام کوتاه‌تر m استفاده کرده‌ایم.

Alias برای یک تابع

from math import sqrt as s

print(s(81))

در اینجا تابع sqrt را با نام کوتاه‌تر s استفاده کرده‌ایم.

ماژول random در پایتون

یکی دیگر از ماژول‌های داخلی پایتون، random است. از آن می‌توانیم برای تولید مقادیر تصادفی استفاده کنیم.

import random

number = random.randint(1, 10)

print(number)

در هر اجرا ممکن است یک عدد تصادفی بین ۱ تا ۱۰ دریافت کنیم.

انتخاب تصادفی از یک لیست

import random

names = ["Ali", "Sara", "Reza", "Mina"]

winner = random.choice(names)

print(winner)

تابع choice() یکی از اعضای لیست را به صورت تصادفی انتخاب می‌کند.

ماژول datetime

برای کار با تاریخ و زمان می‌توانیم از ماژول datetime استفاده کنیم.

import datetime

now = datetime.datetime.now()

print(now)

این کد تاریخ و زمان فعلی سیستم را نمایش می‌دهد.

ماژول os

ماژول os برای کار با سیستم‌عامل و فایل‌ها و پوشه‌ها امکانات مختلفی در اختیار ما قرار می‌دهد.

import os

print(os.getcwd())

تابع getcwd() مسیر پوشه فعلی برنامه را نمایش می‌دهد.

ساخت ماژول شخصی

یکی از قابلیت‌های مهم پایتون این است که خودمان هم می‌توانیم ماژول بسازیم.

فرض کنید دو فایل زیر را در یک پوشه داریم:

my_math.py
main.py

ابتدا داخل فایل my_math.py یک تابع ایجاد می‌کنیم:

def add(a, b):
    return a + b

سپس در فایل main.py می‌توانیم این ماژول را وارد کنیم:

import my_math

result = my_math.add(2, 3)

print(result)

خروجی:

5

به این ترتیب تابعی که در فایل دیگری نوشته‌ایم را در برنامه خود استفاده کردیم.

چند ماژول داخلی مهم پایتون

ماژول کاربرد
math محاسبات ریاضی
random تولید و انتخاب تصادفی
datetime کار با تاریخ و زمان
os کار با سیستم‌عامل، فایل‌ها و پوشه‌ها

تفاوت import و from ... import

روش مثال نحوه استفاده
import import math math.sqrt(25)
from import from math import sqrt sqrt(25)
alias import math as m m.sqrt(25)

نکته مهم برای مبتدیان

ماژول‌ها کمک می‌کنند پروژه‌های بزرگ را به قسمت‌های کوچک‌تر تقسیم کنیم. به جای اینکه تمام کدهای یک پروژه را در یک فایل قرار دهیم، می‌توانیم بخش‌های مختلف برنامه را در فایل‌های جداگانه قرار داده و هر زمان که لازم بود آن‌ها را با import وارد کنیم.

خلاصه درس

دستور کاربرد
import وارد کردن یک ماژول
from ... import وارد کردن بخش مشخصی از یک ماژول
as تعیین نام مستعار
math ابزارهای ریاضی
random کار با مقادیر تصادفی
datetime کار با تاریخ و زمان
os کار با سیستم‌عامل و فایل‌ها

سؤالات متداول

ماژول در پایتون چیست؟

ماژول معمولاً یک فایل پایتون با پسوند .py است که می‌تواند شامل توابع، متغیرها و کلاس‌ها باشد.

دستور import چه کاری انجام می‌دهد؟

از import برای وارد کردن یک ماژول و استفاده از امکانات آن در برنامه استفاده می‌کنیم.

تفاوت import و from چیست؟

با import معمولاً خود ماژول را وارد می‌کنیم، اما با from ... import می‌توانیم بخش مشخصی مانند یک تابع را مستقیماً وارد کنیم.

آیا خودمان می‌توانیم ماژول بسازیم؟

بله. هر فایل پایتون می‌تواند شامل کدهایی باشد که در فایل‌های دیگر پروژه با استفاده از import قابل استفاده هستند.

← درس قبلی: رشته‌ها (String) بازگشت به آموزش پایتون درس بعدی: مدیریت خطاها در پایتون →