گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

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

بروزرسانی شده در: 11:41 1405/04/14 مشاهده: 31     دسته بندی: کپسول آموزشی

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

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

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

در پایتون، هر فایل با پسوند .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 و آشنایی با کتاب‌خانه‌های استاندارد و پرکاربرد، می‌توانید برنامه‌های خود را سریع‌تر و حرفه‌ای‌تر بنویسید. به یاد داشته باشید که همیشه پیش از نوشتن کدهای جدید، بگردید تا ببینید آیا ماژول یا کتابخانه‌ای برای کار شما وجود دارد یا نه.