ماژولها (Modules) در پایتون
ماژول در پایتون، فایلهایی حاوی کد هستند که عملکردهای خاصی را ارائه میدهند و معمولاً توسط دیگران نوشته شدهاند تا کارهای متداول مانند تولید اعداد تصادفی، انجام محاسبات ریاضی و غیره را سادهتر کنند. برای استفاده از یک ماژول، معمولاً در ابتدای کد خود آن را با دستور import module_name
فراخوانی میکنید و سپس با استفاده از module_name.var
به توابع یا متغیرهای آن دسترسی پیدا میکنید.
برای مثال، در قطعه کد زیر، از ماژول random
برای تولید چند عدد تصادفی استفاده شده است:
import random
for i in range(5):
value = random.randint(1, 6)
print(value)
خروجی نمونه:
2
3
6
5
4
نکته: تابع randint
از ماژول random
، عددی تصادفی در بازه مشخصشده تولید میکند.
همچنین، میتوانید فقط بخشی از ماژول را به صورت مستقیم وارد کنید. برای این منظور از ساختار from module_name import var
استفاده میشود. در این حالت، نیازی به پیشوند نام ماژول نیست و میتوانید مستقیم از آن استفاده کنید:
from math import pi
print(pi)
خروجی:
3.141592653589793
میتوانید چندین عضو را با کاما جدا کنید:
from math import pi, sqrt
نکته مهم: وارد کردن همه اعضای ماژول با استفاده از from module_name import *
معمولاً توصیه نمیشود، زیرا ممکن است باعث تداخل نامها و اشتباهات در کد شود. همچنین تلاش برای وارد کردن ماژولی که وجود ندارد، باعث ایجاد خطا میشود:
import some_module
خطا:
ImportError: No module named 'some_module'
برای راحتی در نامگذاری، میتوانید هنگام وارد کردن ماژول یا تابع، نامی کوتاهتر یا دلخواه به آن اختصاص دهید. این کار با استفاده از کلمه کلیدی as
انجام میشود:
from math import sqrt as square_root
print(square_root(100))
خروجی:
10.0
مثال از یک ماژول دستساز کاربر
فرض کنید یک فایل به نام mymath.py
ایجاد کردهاید که چند تابع ساده ریاضی در آن تعریف شده است:
# mymath.py
def add(x, y):
return x + y
def subtract(x, y):
return x - y
حالا در فایل دیگری میتوانید این ماژول را وارد و از توابع آن استفاده کنید:
import mymath
result1 = mymath.add(10, 5)
result2 = mymath.subtract(10, 5)
print(result1) # خروجی: 15
print(result2) # خروجی: 5
برای این که پایتون فایل mymath.py
را پیدا کند، این فایل باید در همان پوشه اسکریپتی که در آن واردش میکنید، قرار داشته باشد یا در مسیرهای جستجوی پایتون موجود باشد.