Python Modules

در پایتون، Module (ماژول) یک فایل با پسوند .py است که شامل توابع، کلاس‌ها، متغیرها و کد قابل استفادهٔ مجدد می‌باشد.
ماژول‌ها کمک می‌کنند کد را سازمان‌دهی کنیم و در پروژه‌های مختلف دوباره از آن استفاده کنیم.

🔹 ساخت و استفاده از ماژول

1. ساخت ماژول

یک فایل به نام mymodule.py بسازید:

def greeting(name): print(f"Hello, {name}!") person = { "name": "Alice", "age": 25 }

2. استفاده از ماژول

در فایل اصلی (مثلاً main.py):

import mymodule mymodule.greeting("Bob") print(mymodule.person["name"])

📌 خروجی:

Hello, Bob! Alice

🔹 متدهای مختلف import

import کامل

import math print(math.sqrt(16))

import با نام مستعار

import math as m print(m.sqrt(16))

import یک عضو خاص

from math import sqrt print(sqrt(16))

import چند عضو

from math import sqrt, pi print(pi)

import همهٔ اعضا (پیشنهاد نمی‌شود)

from math import * print(sin(pi/2))

🔹 ماژول‌های استاندارد

پایتون دارای کتابخانهٔ استاندارد بزرگی است. نمونه‌ها:

  • math : توابع ریاضی

  • random : اعداد تصادفی

  • datetime : تاریخ و زمان

  • os : کار با سیستم‌عامل

  • sys : متغیرها و توابع سطح پایین سیستم

مثال:

import random print(random.randint(1, 10))

🔹 ماژول‌های شخص ثالث

ماژول‌هایی که توسط دیگران ساخته شده و با pip نصب می‌شوند:

pip install requests

سپس:

import requests r = requests.get("https://example.com") print(r.status_code)

🔹 متغیر name

وقتی یک ماژول مستقیماً اجرا شود، متغیر __name__ مقدار "__main__" می‌گیرد:

# mymodule.py def main(): print("Running as script") if __name__ == "__main__": main()
  • اگر فایل را مستقیماً اجرا کنید ➜ Running as script چاپ می‌شود.

  • اگر ماژول را import کنید ➜ چیزی چاپ نمی‌شود.

🔹 پکیج‌ها (Packages)

  • پوشه‌ای شامل چند ماژول + فایل __init__.py است.

  • ساختار:

mypackage/ __init__.py module1.py module2.py
  • استفاده:

from mypackage import module1 module1.func()

✅ نکات مهم

  • نام فایل ماژول باید معتبر باشد (فاصله نداشته باشد).

  • برای سازمان‌دهی کدهای بزرگ از پکیج استفاده کنید.

  • از نام‌های داخلی پایتون (مثل math.py) برای فایل خود استفاده نکنید تا با ماژول‌های استاندارد تداخل نکند.

💡 تمرین‌های پیشنهادی

  1. یک ماژول بسازید که تابع محاسبهٔ مساحت دایره را برگرداند و در برنامهٔ اصلی آن را import کنید.

  2. از ماژول datetime تاریخ و ساعت فعلی را چاپ کنید.

  3. یک پکیج بسازید که دو ماژول adder.py و subtractor.py داشته باشد و از هر دو در یک فایل اصلی استفاده کنید.

✅ خلاصه

  • Module = فایل .py با توابع/کلاس‌ها/متغیرهای قابل استفادهٔ مجدد.

  • برای استفاده: import module_name.

  • می‌توان ماژول‌های استاندارد، شخص ثالث یا سفارشی به کار برد.

  • متغیر __name__ تشخیص می‌دهد ماژول مستقیماً اجرا شده یا import شده است.