کتابخانه و ماژول: استفاده از کدهای آماده در برنامه
ماژول چیست و چه تفاوتی با کتابخانه دارد؟
در پایتون، هر فایل با پسوند .py که شامل توابع، کلاسها و متغیرهای مرتبط باشد، یک «ماژول» نامیده میشود. ماژول مانند یک جعبه ابزار کوچک است که ابزارهای خاصی را در خود جای داده است. برای مثال، ماژول datetime شامل توابعی برای کار با تاریخ و زمان است. هر ماژول یک کار مشخص را انجام میدهد و میتوانید آن را به برنامه خود اضافه کنید تا از امکانات آن استفاده کنید.
اما «کتابخانه» مجموعهای از چندین ماژول است که همه با هم یک قابلیت بزرگتر را فراهم میکنند. برای مثال، کتابخانه matplotlib شامل ماژولهای مختلفی برای رسم نمودار است. به زبان سادهتر، ماژول یک ابزار است و کتابخانه یک جعبه ابزار کامل. البته در گفتگوهای روزمره، برنامهنویسان اغلب این دو واژه را به جای یکدیگر استفاده میکنند.
| نام ماژول | کاربرد اصلی | یک تابع معروف |
|---|---|---|
| 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 به توابع آن دسترسی داشته باشید.