ماژول های برنامه نویسی پایتون

4 سال پیش
2/5 - (2 امتیاز)

ماژول های برنامه نویسی پایتون

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

پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون

ماژول ها در برنامه نوبسی پایتون چیست؟

ماژول ها به فایلی که حاوی عبارات و تعاریف پایتون باشد، گفته می شود.

به یک فایل حاوی کدهای پایتون، به عنوان مثال: example.py، یک ماژول گفته می شود و نام ماژول example می باشد.

ما از ماژول ها برای تجزیه برنامه های بزرگ به فایل های کوچک قابل مدیریت استفاده می کنیم. علاوه بر این، ماژول ها قابلیت استفاده مجدد از کد را فراهم می کنند.

ما می توانیم به جای کپی کردن تعاریف در برنامه های مختلف، پرکاربردترین توابع خود در یک ماژول تعریف کرده و آن را وارد کنیم.

بیایید ماژولی ایجاد کنیم. موارد زیر را تایپ کرده و آن را به عنوان example.py ذخیره کنیم.

 

در اینجا، ما یک تابع ()add را در داخل ماژولی به نام example تعریف کرده ایم. این تابع دو عدد را جمع می بندد و مجموعه آن‌ ها را محاسبه می‌ کند.

چگونه ماژول ها را در پایتون وارد کنیم؟

می توانیم تعاریف داخل یک ماژول را در ماژول دیگری یا مفسر تعاملی (Interactive Interpreter) در پایتون وارد کنیم.

ما برای این کار از کلیدواژه import استفاده می کنیم. برای وارد کردن ماژول example که قبلاً تعریف شده است، دستور زیر را باید در خط فرمان پایتون وارد کرد.

 

این دستور نام تابع تعریف شده example را مستقیماً در جدول نماد (symbol table) فعلی وارد نمی کند. بلکه فقط نام ماژول example را در آنجا وارد می کند.

با استفاده از نام ماژول می توانیم به عملگر نقطه «.» دسترسی داشت.

به عنوان مثال؛

 

پایتون دارای چندین و چند ماژول استاندارد است. می توانید لیست کامل ماژول های استاندارد پایتون و موارد استفاده از آنها را بررسی کنید. این پرونده ها در فهرست Lib directory در محلی که پایتون را نصب کرده اید قرار دارند.

ماژول های استاندارد را می توان به همان روشی که ماژول های تعریف شده توسط کاربر  را وارد می شوند، وارد کرد.

روش های مختلفی برای وارد کردن ماژول وجود دارد. که در ادامه به آن ها خواهیم پرداخت.

 

دستور Import در پایتون

ما می توانیم یک ماژول را با استفاده از دستور import وارد کنیم و با استفاده از عملگر نقطه همانطور که در بالا توضیح داده شد به تعاریف داخل آن دسترسی پیدا کنیم. به عنوان مثال.

 

خروجی

 

وارد کردن ماژول ‌ها با تغییر نام در پایتون

ما می توانیم با تغییر نام ماژول به صورت زیر، آن ها را وارد کنیم:

 

در این تغییر نام، ماژول math به m  تغییر نام داده ایم. این امر می تواند در بعضی موارد باعث صرفه جویی در وقت تایپ ما شود.

توجه داشته باشید که نام math در دامنه ما شناخته نشده است. از این رو ، math.pi نامعتبر است و m.pi نیز پیاده‌ سازی صحیح است.

 

استفاده از from … import در برنامه نویسی پایتون

ما می توانیم بدون وارد کردن ماژول به صورت کامل، نام های خاصی را از یک ماژول وارد کنیم. به عنوان مثال.

 

در اینجا، ما فقط مشخصه pi را از ماژول math وارد کردیم.

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

وارد کردن همه اسامی در پایتون

ما می توانیم همه اسامی (تعاریف) را از یک ماژول با استفاده از ساختار زیر وارد کنیم:

 

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

وارد کردن همه چیز با علامت ستاره (*) روش برنامه نویسی خوبی نیست. این می تواند به تعریفهای تکراری برای شناساگر منجر شود. همچنین خوانایی کد را بسیار کم می کند.

 

مسیر جستجوی ماژول های پایتون

هنگام وارد کردن ماژول، پایتون محل های های مختلفی را بررسی می کند. مفسر پایتون ابتدا به دنبال یک ماژول توکار است. سپس (اگر ماژول توکار یافت نشد)، پایتون لیستی از دایرکتوری های تعریف شده در sys.path را جستجو می کند.

جستجو به این ترتیب زیر است.

  • دایرکتوری فعلی
  • PYTHONPATH (یک متغیر محیطی با لیستی از دایرکتوری ها).
  • دایرکتوری پیش فرض وابسته به نصب

 

امکان اینکه مواردی را به لیست اضافه و یا اصلاح کنیم تا مسیر خود را اضافه کنیم، وجود دارد.

 

بارگیری مجدد یک ماژول در پایتون

مفسر پایتون یک ماژول را تنها یک ‌بار در طول یک جلسه کاری وارد می‌کند. این کار کارایی بیشتری را ایجاد می کند. در اینجا مثالی برای نشان دادن نحوه عملکرد آن آورده شده است.

فرض کنید ما کد زیر را در ماژولی به نام my_module داریم.

 

خروجی

 

می توانیم ببینیم که کد ما فقط یک بار اجرا شده است. این نشان می دهد که ماژول ما فقط یک بار وارد شده است.

اکنون اگر ماژول ما در طول برنامه تغییر کند، باید آن را دوباره بارگیری کنیم. یکی از راه های انجام این کار، راه اندازی مجدد مفسر است. اما این کار خیلی کمک نمی کند.

پایتون روش کارآمدتری برای انجام این کار ارائه می دهد. برای بارگیری مجدد ماژول می توانیم از تابع ()reload درون ماژول imp استفاده کنیم. ما می توانیم این کار را به روش های زیر انجام دهیم:

 

 

تابع توکار ()dir در پایتون

ما می توانیم از تابع ()dir برای یافتن اسامی که در داخل ماژول تعریف شده اند، استفاده کنیم.

به عنوان مثال، ما یک تابع ()add  را در  ماژول example که در ابتدا داشتیم تعریف کرده ایم.

 

در اینجا، می توانیم لیست مرتب شده ای از اسامی (همراه با add) را مشاهده کنیم. همه اسامی دیگری که با خط تیره شروع می شوند خصیصه‌ های پیش فرض پایتون مرتبط با ماژول هستند (توسط کاربر تعریف نشده اند).

به عنوان مثال ، خصیصه__name__ حاوی نام ماژول است.

 

همه نام های تعریف شده در فضای نام فعلی ما را می توان با استفاده از تابع ()dir  بدون هیچ آرگومانی پیدا کرد.

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
  15. توابع در برنامه نویسی پایتون
  16. آرگومان تابع در برنامه نویسی پایتون
  17. تابع بازگشتی در برنامه نویسی پایتون
  18. تابع بی نام/ تابع لامبدا در برنامه نویسی پایتون
  19. متغیرهای سراسری، محلی و غیر محلی در برنامه نویسی پایتون
  20. کلیدواژه global در برنامه نویسی پایتون
2/5 - (2 امتیاز)
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه