دستور import چیست؟ فرمان افزودن کتابخانه یا ماژول به برنامه
ماژول و کتابخانه چیست و چرا به آن نیاز داریم؟
تصور کن میخواهی یک ماشینحساب پیشرفته بسازی که بتواند ریشهٔ دوم، سینوس و کسینوس اعداد را محاسبه کند. نوشتن تمام این فرمولهای ریاضی از صفر، کار بسیار سختی است و ممکن است اشتباهات زیادی داشته باشد. خوشبختانه، برنامهنویسان قبلاً این کار را برای ما انجام دادهاند. آنها توابع ریاضی را در یک ماژول به نام math جمعآوری کردهاند. ما فقط با نوشتن دستور import math میتوانیم به تمام آن توابع دسترسی پیدا کنیم.
به زبان ساده، ماژول یک فایل پایتونی است که شامل چندین تابع، متغیر و کلاس است که کار خاصی را انجام میدهند. وقتی چند ماژول مرتبط کنار هم قرار میگیرند، یک کتابخانه را میسازند. برای مثال، کتابخانهٔ pygame برای ساخت بازی و کتابخانهٔ matplotlib برای رسم نمودار استفاده میشود. استفاده از این کتابخانهها باعث میشود برنامهنویسی لذتبخشتر شود، چون زمان کمتری برای نوشتن کدهای تکراری صرف میکنیم و میتوانیم روی بخش خلاقانهٔ برنامه تمرکز کنیم.
چگونه از دستور import استفاده کنیم؟
برای استفاده از یک ماژول، کافی است در ابتدای برنامهٔ خود دستور import را به همراه نام ماژول بنویسیم. بعد از آن، برای استفاده از هر تابع یا متغیر داخل آن ماژول، باید نام ماژول را قبل از آن بنویسیم و با نقطه جدا کنیم. به این کار نشانهگذاری با نقطه میگویند. برای نمونه، اگر بخواهیم ریشهٔ دوم عدد 25 را محاسبه کنیم، مینویسیم math.sqrt(25). این روش به ما کمک میکند تا بدانیم هر تابع متعلق به کدام ماژول است و اگر دو ماژول تابعی با نام یکسان داشته باشند، اشتباه نکنیم.
روش دیگر نوشتن from math import sqrt است. در این حالت، فقط تابع sqrt را وارد برنامه میکنیم و میتوانیم مستقیماً از آن استفاده کنیم بدون اینکه هر بار math. بنویسیم. این روش زمانی مفید است که فقط به یکی دو تابع از یک ماژول بزرگ نیاز داشته باشیم. همچنین میتوانیم با نوشتن import math as m، یک نام کوتاهتر (اینام مستعار) برای ماژول انتخاب کنیم تا تایپ کردن راحتتر شود.
| روش نوشتن | نحوهٔ استفاده | کاربرد |
|---|---|---|
| import math | math.sqrt(25) | استفاده از تمام توابع ماژول |
| from math import sqrt | sqrt(25) | وارد کردن فقط تابع مورد نیاز |
| import math as m | m.sqrt(25) | دادن نام مستعار برای کوتاهتر شدن |
پرسشهای چالشی دربارهٔ دستور import
پرسش: آیا میتوانیم هر فایل پایتونی را با دستور import به برنامه اضافه کنیم؟
پاسخ: بله، به شرطی که فایل مورد نظر در همان پوشهٔ برنامه باشد یا در مسیر جستجوی پایتون قرار داشته باشد. پایتون هنگام اجرای دستور import، یک سری پوشهٔ مشخص را برای پیدا کردن فایل ماژول بررسی میکند. اگر فایل مورد نظر در آن پوشهها نباشد، با پیام خطایی روبهرو میشویم که میگوید ماژول پیدا نشد.
پرسش: اگر دو ماژول تابعی با یک نام داشته باشند، چه اتفاقی میافتد؟
پاسخ: این یکی از دلایل مهمی است که بهتر است از روش import math استفاده کنیم، نه from math import *. اگر همهٔ توابع یک ماژول را بدون نام ماژول وارد کنیم و دو ماژول تابعی همنام داشته باشند، تابعی که آخرین بار وارد شده، تابع قبلی را میپوشاند و ممکن است برنامه به درستی کار نکند. استفاده از نام ماژول جلوی این اشتباه را میگیرد.
پرسش: آیا دستور import فقط برای ماژولهای استاندارد پایتون کاربرد دارد؟
پاسخ: خیر. شما میتوانید ماژولهایی که خودتان میسازید یا ماژولهایی که از اینترنت دانلود میکنید را نیز با همین دستور وارد برنامه کنید. فقط کافی است فایل ماژول در مسیر مناسب قرار داشته باشد. خیلی از کتابخانههای معروف مانند requests برای کار با وب یا numpy برای محاسبات علمی، دقیقاً به همین روش وارد برنامه میشوند.
آنچه آموختیم:
دستور import یکی از پرکاربردترین فرمانها در برنامهنویسی پایتون است که به ما اجازه میدهد از تواناییهای نوشتهشده توسط دیگران استفاده کنیم. با کمک ماژولها و کتابخانهها، برنامهنویسی سریعتر، سادهتر و با خطای کمتر انجام میشود. روشهای مختلف نوشتن این دستور، هرکدام برای موقعیت خاصی مناسب هستند. مهم است که همیشه نام ماژول را همراه تابع بنویسیم تا از بروز اشتباه جلوگیری کنیم. به یاد داشته باش که هر چه بیشتر با ماژولهای مختلف آشنا شوی، قدرت بیشتری برای ساختن برنامههای جذاب و کاربردی خواهی داشت.