ایمپورت در پایتون | راهنمای مقدماتی


ایمپورت کردن ماژولها یک مهارت حیاتی در زمان یادگیری پایتون محسوب میشود. برای این که این زبان سبک و سریع باشد، به صورت پیشفرض تنها یک هسته کوچک در هر اسکریپت پایتون موجود است و شما باید هر چیز دیگری که لازم دارید را ایمپورت کنید. در ادامه این مقاله با روش ایمپورت در پایتون آشنا خواهیم شد.
سه دستور اصلی برای افزودن ماژولها به کد پایتون وجود دارد که شامل دستورهای import ،from و as میشود. در ادامه هر یک از این دستورها را یک به یک توضیح میدهیم، اما قبل از آن باید خود فرایند ایمپورت در پایتون را تعریف کنیم.
چه چیزی را میتوان در پایتون ایمپورت کرد؟
اصطلاحات مرتبط با ایمپورت به خصوص زمانی که از منابع مختلفی اقدام به یادگیری پایتون میکنید، ممکن است موجب سردرگمی شوند. بنابراین در این بخش به سرعت همه مواردی که میتوان ایمپورت کرد و نام آنها را فهرست میکنیم.
- Module – یک فایل با پسوند py.
- Package – یک دایرکتوری شامل فایل init__.py__ و به طور معمول ماژولهای دیگر.
- Built-in Module – یک ماژول که به صورت نیتیو به همراه پایتون نصب میشود.
- Object – هر چیزی مانند یک کلاس، تابع یا متغیر که درون یک ماژول/پکیج قرار دارد و میتوان به آن ارجاع داد.
البته نباید زیاد خود را با این اصطلاحها درگیر کنید. کافی است بدانید که ما به طور عمده ماژولهای داخلی را ایمپورت یا پکیجها را دانلود میکنیم. از آنجا که object یک اصطلاح چند منظوره است، آنها را کامپوننت مینامیم.
برای دانلود و نصب پکیجها باید از pip در پایتون استفاده کنیم. این ابزار خط فرمان برای نصب پکیجهایی استفاده میشود که در دسترس عمومی هستند. در مثالهای بخش بعدی این مقاله از ماژولهای داخلی استفاده کردهایم تا مطمئن شویم که شما نیز میتوانید این دستورها را پیگیری کنید.
ایمپورت در پایتون
چنان که پیشتر اشاره کردیم، برخی دستورها هستند که میتوان در زمان بارگذاری ماژولها در کد مورد استفاده قرار داد. از میان این سه دستور تنها دستور import مطلقاً الزامی است. دو دستور دیگر بسته به شرایط اختیاری هستند. ما کار خود را از سادهترین دستور برای ایمپورت کردن کل یک ماژول آغاز میکنیم.
import math print(math.ceil(3.4)) # 4 print(math.floor(3.4)) # 3
چنان که میبینید تنها دستور import و نام ماژول مورد نیاز است و ساختار بسیار آسانی دارد. به خاطر داشته باشید اگر ماژولی را ایمپورت کنید که از دید هسته پایتون، نیتیو نیست، باید مطمئن شوید که به صورت صحیحی دانلود شده است. اکنون با این که این دستور کاملاً سرراست است، اما چندان کارآمد نیست. ما ممکن است صرفاً به بخش کوچکی از ماژول نیاز داشته باشیم و در عمل هم در اغلب موارد چنین است. به بیان دقیقتر، ما از دستور from برای تعیین ماژول خود استفاده میکنیم و سپس با دستور import صراحتاً کامپوننتهایی که نیاز داریم را فهرست بندی میکنیم.
from math import ceil, floor print(ceil(3.4)) # 4 print(floor(3.4)) # 3
بنابراین ما برحسب آن چه که ایمپورت میکنیم، کارایی بیشتری خواهیم داشت، اما ممکن است بخواهید ارجاع را سادهسازی کنید و یا یک context برای یک کامپوننت ارائه دهید. این همان جایی است که دستور as به کار میآید. برای تغییر دادن نام یک کامپوننت به صورت لوکال، در ادامه دستور import یک دستور as نیز آورده و نام جدیدی تعیین کندی. اکنون میتوانیم به صورت واضحی به کامپوننت در فضای نام لوکال خود ارجاع بدهیم.
from datetime import datetime as dt print(dt.now()) # 2020-03-29 01:43:03.170480
سخن پایانی
یک import با طراحی مناسب تنها باید آن چه را لازم است ارائه کند. با صرف چند ثانیه برای برنامهریزی این مسئله، زمان زیادی در بلندمدت صرفهجویی میشود. ویرایش کردن ایمپورتها در کد موجود به احتمال زیاد به معنی بهروزرسانی ارجاعها و گزارهها در بدنه برنامه نیز میشود. موارد بیشتری نیز برای کسب مهارت در ایمپورتهای ماژول پایتون وجود دارند، اما مواردی که در این مقاله مطرح شدند، بخش عمده موضوع را پوشش میدهند.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش پایتون (Python) | برنامهنویسی پایتون مقدماتی
- مجموعه آموزشهای برنامهنویسی
- ماژولهای پایتون (Python Modules) — به زبان ساده
- پایتون و روش کار با فایلهای اکسل — از صفر تا صد
==