آموزش ماژول ها در پایتون، ماژولها در پایتون فایلهایی هستند که شامل کد پایتون (توابع، کلاسها یا متغیرها) میباشند و برای سازماندهی و استفاده مجدد از کد به کار میروند. استفاده از ماژولها باعث افزایش خوانایی کد و کاهش کدنویسی تکراری میشود.
1. معرفی ماژولها و نحوه استفاده از آنها
تعریف ماژول
ماژولها در پایتون فایلهایی با پسوند .py هستند. هر فایل پایتون میتواند به عنوان یک ماژول استفاده شود.
ساختار یک ماژول ساده:
فرض کنید یک فایل به نام math_tools.py دارید:
# math_tools.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
if b != 0:
return a / b
else:
return "Division by zero is not allowed"
وارد کردن ماژول
برای استفاده از ماژولها در فایلهای دیگر، از دستور import استفاده میکنیم.
مثال:
# main.py
import math_tools
result = math_tools.add(5, 3)
print(f"Addition: {result}")
خروجی:
Addition: 8
توضیح:
- دستور
import math_toolsکل ماژول را وارد میکند. - برای دسترسی به توابع ماژول، از نحو
ماژول.نام_تابعاستفاده میکنیم.
استفاده از from برای وارد کردن توابع خاص
اگر نیاز به وارد کردن تنها چند تابع خاص از ماژول دارید، میتوانید از دستور from استفاده کنید.
مثال:
from math_tools import add, subtract
print(add(10, 5)) # خروجی: 15
print(subtract(10, 5)) # خروجی: 5
توضیح:
- فقط توابع
addوsubtractوارد شدهاند. - نیازی به استفاده از پیشوند ماژول نیست.
تغییر نام ماژول یا توابع
با استفاده از کلمه کلیدی as میتوانید نام ماژول یا توابع را تغییر دهید.
مثال:
import math_tools as mt
print(mt.multiply(4, 5)) # خروجی: 20
یا:
from math_tools import divide as div
print(div(10, 2)) # خروجی: 5.0
توضیح:
math_toolsبهmtتغییر نام داده شده است.- تابع
divideبهdivتغییر نام داده شده است.
ماژولهای داخلی پایتون
پایتون دارای مجموعهای از ماژولهای داخلی است که بسیاری از وظایف رایج را پوشش میدهند.
مثال با ماژول math:
import math
print(math.sqrt(16)) # خروجی: 4.0
print(math.pi) # خروجی: 3.141592653589793
مثال با ماژول random:
import random
print(random.randint(1, 10)) # یک عدد تصادفی بین 1 و 10
مثال با ماژول datetime:
from datetime import datetime
now = datetime.now()
print(f"Current Date and Time: {now}")
ایجاد ماژولهای سفارشی
شما میتوانید ماژولهای خود را با تعریف توابع و کلاسها در فایلهای پایتون ایجاد کنید.
مثال:
فایل greeting.py:
# greeting.py
def say_hello(name):
return f"Hello, {name}!"
استفاده از ماژول:
from greeting import say_hello
print(say_hello("Alice")) # خروجی: Hello, Alice!
بررسی محتوای یک ماژول
با استفاده از تابع داخلی dir() میتوانید تمام متغیرها و توابع موجود در یک ماژول را مشاهده کنید.
مثال:
import math
print(dir(math))
خروجی:
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', ...]
به طور کلی می توان گفت:
ماژولها یکی از ابزارهای کلیدی در پایتون برای مدیریت و سازماندهی کد هستند. با استفاده از ماژولهای داخلی و سفارشی، میتوانید کدنویسی را بهینه کرده و کدهای خود را خواناتر و قابل استفاده مجدد کنید. آشنایی با نحوه استفاده از ماژولها مهارتی ضروری برای هر برنامهنویس پایتون است.
2. استفاده از ماژولهای استاندارد پایتون
استفاده از ماژولهای استاندارد پایتون
پایتون دارای کتابخانه استاندارد گستردهای است که شامل ماژولهای متعددی برای انجام وظایف رایج مانند مدیریت فایل، عملیات ریاضی، کار با دادهها و ارتباطات شبکهای است. این ماژولها از پیش نصب شده و آماده استفاده هستند.
ماژول math
ماژول math توابع و ثابتهای ریاضی را ارائه میدهد.
مثالها:
import math
print(math.sqrt(16)) # محاسبه جذر: 4.0
print(math.factorial(5)) # محاسبه فاکتوریل: 120
print(math.pi) # مقدار عدد پی: 3.141592653589793
print(math.sin(math.pi/2)) # مقدار سینوس: 1.0
موارد کاربرد:
- محاسبات علمی و مهندسی
- کار با ثابتهای ریاضی
ماژول random
ماژول random برای تولید اعداد تصادفی و انتخاب تصادفی استفاده میشود.
مثالها:
import random
print(random.randint(1, 10)) # تولید عدد تصادفی بین 1 و 10
print(random.choice(["red", "green", "blue"])) # انتخاب تصادفی از لیست
print(random.random()) # تولید عدد اعشاری تصادفی بین 0 و 1
print(random.shuffle([1, 2, 3, 4])) # تغییر ترتیب عناصر لیست
موارد کاربرد:
- بازیسازی
- شبیهسازیها
- انتخابهای تصادفی
ماژول datetime
ماژول datetime برای کار با تاریخ و زمان استفاده میشود.
مثالها:
from datetime import datetime, timedelta
now = datetime.now()
print(now) # تاریخ و زمان فعلی
future = now + timedelta(days=10)
print(f"10 روز آینده: {future}") # اضافه کردن 10 روز به تاریخ فعلی
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"تاریخ قالببندی شده: {formatted_date}")
موارد کاربرد:
- مدیریت تقویم
- محاسبات زمانی
- قالببندی تاریخ و زمان
ماژول os
ماژول os ابزارهایی برای تعامل با سیستم عامل ارائه میدهد.
مثالها:
import os
print(os.getcwd()) # گرفتن مسیر فعلی
os.mkdir("new_folder") # ایجاد یک پوشه جدید
print(os.listdir(".")) # لیست محتویات مسیر فعلی
os.rmdir("new_folder") # حذف پوشه
موارد کاربرد:
- مدیریت فایلها و پوشهها
- دسترسی به اطلاعات سیستم عامل
ماژول sys
ماژول sys ابزارهایی برای تعامل با مفسر پایتون فراهم میکند.
مثالها:
import sys
print(sys.version) # نسخه پایتون
print(sys.argv) # آرگومانهای خط فرمان
sys.exit("خروج از برنامه") # خاتمه اجرای برنامه
موارد کاربرد:
- دسترسی به تنظیمات و اطلاعات محیط پایتون
- مدیریت رفتار برنامهها
ماژول json
ماژول json برای کار با دادههای JSON استفاده میشود.
مثالها:
import json
data = {"name": "Alice", "age": 25}
json_data = json.dumps(data) # تبدیل دیکشنری به رشته JSON
print(json_data)
parsed_data = json.loads(json_data) # تبدیل JSON به دیکشنری
print(parsed_data)
موارد کاربرد:
- ذخیره و بازیابی دادهها
- ارتباطات API
ماژول re
ماژول re برای تطبیق الگوها و کار با عبارات منظم استفاده میشود.
مثالها:
import re
pattern = r"\b[A-Za-z]{3}\b"
text = "The cat sat on the mat."
matches = re.findall(pattern, text)
print(matches) # تطبیق کلمات سه حرفی: ['The', 'cat', 'sat', 'the', 'mat']
موارد کاربرد:
- جستجوی پیشرفته در متنها
- اعتبارسنجی ورودیها
به طور کلی می تونیم بگیم:
ماژولهای استاندارد پایتون ابزارهای قدرتمندی برای توسعه برنامههای کاربردی، علمی و پیشرفته فراهم میکنند. آشنایی و تسلط بر این ماژولها میتواند بهرهوری شما را به عنوان یک برنامهنویس افزایش دهد.
