خانه
گاما

کتابخانه و ماژول: مجموعه کدها و امکانات آماده که قابلیت‌های مشخصی را به برنامه اضافه می‌کنند

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/13
تعداد بازدید71
کتابخانه و ماژول: مجموعه کدها و امکانات آماده که قابلیت‌های مشخصی را به برنامه اضافه می‌کنند

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

آشنایی با مجموعه کدهای آماده برای اضافه کردن قابلیت‌های جدید به برنامه
فرض کنید می‌خواهید یک برنامه بنویسید که تاریخ و زمان فعلی را نشان دهد یا یک تصویر روی صفحه نمایش دهد. آیا باید همه این کدها را از صفر بنویسید؟ نه! در پایتون، مجموعه‌های آماده‌ای از کدها وجود دارند که به آن‌ها «کتاب‌خانه» و «ماژول» می‌گوییم. با استفاده از آن‌ها، می‌توانید بدون دوباره‌نویسی، قابلیت‌های جدیدی به برنامه خود اضافه کنید. در این مقاله با این مفهوم آشنا می‌شویم.

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

در پایتون، هر فایل با پسوند .py که شامل توابع، کلاس‌ها و متغیرهای مرتبط باشد، یک «ماژول» نامیده می‌شود. ماژول مانند یک جعبه ابزار کوچک است که ابزارهای خاصی را در خود جای داده است. برای مثال، ماژول datetime شامل توابعی برای کار با تاریخ و زمان است. هر ماژول یک کار مشخص را انجام می‌دهد و می‌توانید آن را به برنامه خود اضافه کنید تا از امکانات آن استفاده کنید.

اما «کتاب‌خانه» مجموعه‌ای از چندین ماژول است که همه با هم یک قابلیت بزرگ‌تر را فراهم می‌کنند. برای مثال، کتاب‌خانه matplotlib شامل ماژول‌های مختلفی برای رسم نمودار است. به زبان ساده‌تر، ماژول یک ابزار است و کتاب‌خانه یک جعبه ابزار کامل. البته در گفتگوهای روزمره، برنامه‌نویسان اغلب این دو واژه را به جای یکدیگر استفاده می‌کنند.

مثال ساده: اگر بخواهید عدد تصادفی تولید کنید، می‌توانید از ماژول random استفاده کنید. کافی است بنویسید import random و سپس با random.randint(1, 10) یک عدد تصادفی بین ۱ تا ۱۰ تولید کنید.
نام ماژول کاربرد اصلی یک تابع معروف
math توابع ریاضی مانند سینوس، کسینوس و ریشه math.sqrt(25) → 5.0
random تولید اعداد و انتخاب‌های تصادفی random.choice(['الف','ب']) → 'ب'
datetime کار با تاریخ و زمان datetime.now() → زمان فعلی
os کار با سیستم‌عامل و فایل‌ها os.getcwd() → مسیر فعلی

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

برای استفاده از یک ماژول، باید آن را با دستور import به برنامه خود معرفی کنید. ساده‌ترین شکل این است که بنویسید import math و سپس با math.sqrt(16) از تابع ریشه استفاده کنید. همچنین می‌توانید از روش from math import sqrt استفاده کنید تا مستقیماً از خود تابع بدون نوشتن نام ماژول استفاده کنید.

بعضی از ماژول‌ها همراه با خود پایتون نصب می‌شوند و به آن‌ها «کتاب‌خانه استاندارد» می‌گوییم. این ماژول‌ها مثل math، random، datetime و os همیشه در دسترس هستند و نیازی به نصب جداگانه ندارند. اما برای استفاده از کتاب‌خانه‌های دیگر که همراه پایتون نیستند، مانند matplotlib یا numpy، باید ابتدا آن‌ها را با ابزار pip نصب کنید.

نصب کتاب‌خانه‌های خارجی با pip بسیار ساده است. در خط فرمان، دستور pip install numpy را تایپ کنید. این کار کتاب‌خانه را از اینترنت دانلود و نصب می‌کند. بعد از نصب، می‌توانید با دستور import از آن استفاده کنید. به یاد داشته باشید که برای نصب برخی کتاب‌خانه‌ها ممکن است به دسترسی مدیریتی نیاز داشته باشید.

پرسش‌های کلیدی درباره کتاب‌خانه و ماژول

پرسش

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

بله، شما می‌توانید توابع و کلاس‌های خود را در یک فایل .py ذخیره کنید و آن را به عنوان یک ماژول در برنامه‌های دیگر استفاده کنید. این کار یکی از راه‌های اصلی سازماندهی کد است. برای این کار، فقط کافی است فایل خود را با یک نام مناسب ذخیره و بعد با import از آن استفاده کنید.

پرسش

چرا گاهی pip کار نمی‌کند؟

این مشکل معمولاً به دلیل فعال نبودن گزینه Add Python to PATH هنگام نصب است. همچنین ممکن است نسخه pip به‌روز نباشد. در این صورت، می‌توانید با دستور python -m pip install --upgrade pip آن را به‌روز کنید.

پرسش

اگر دو ماژول تابعی با یک نام داشته باشند، چه می‌شود؟

در این صورت، ماژول آخرین تابع را بر ماژول قبلی اولویت می‌دهد. برای جلوگیری از این تداخل، می‌توانید از نام مستعار (alias) استفاده کنید، مثلاً import math as m تا با نام m به توابع آن دسترسی داشته باشید.

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

شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع
کپسول آموزشی

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری
کپسول آموزشی

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری

مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.
کپسول آموزشی

مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.
کپسول آموزشی

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام
کپسول آموزشی

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی
کپسول آموزشی

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها
کپسول آموزشی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر
کپسول آموزشی

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر

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

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.
کپسول آموزشی

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.
کپسول آموزشی

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.