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

4 سال پیش

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، خواهید گرفت که کد کد خود را با استفاده از پکیج ها در برنامه نویسی پایتون (python-/package) به ماژول های تمیز و کارآمد تقسیم کنید. همچنین ، شما یاد می گیرید که پکیج ها یا بسته های شخص ثالث خود را در برنامه پایتون وارد کنید و از آنها استفاده کنید.

پیشنهاد ویژه : پکیج آموزش پایتون

پکیج ها در برنامه نویسی پایتون چیست؟

ما معمولاً همه فایل های خود را در رایانه خود در یک محل ذخیره نمی کنیم. برای دسترسی راحت تر، از یک سلسله مراتب منظم مانند پوشه ها استفاده می کنیم.

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

با گذشت زمان و زیاد شدن کدهایی که برای یک برنامه می نویسید، برنامه شما بزرگ می شود  و به همراه آن تعداد ماژول ها نیز افزایش می یابد. بنابراین ماژول های مشابه را در یک بسته و ماژول های مختلف را در بسته های مختلف قرار می دهیم. این امر مدیریت یک پروژه (برنامه) را آسان و از نظر مفهومی واضح می کند.

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

برای اینکه پایتون آن را به عنوان یک بسته در نظر بگیرد ، یک دایرکتوری باید فایلی به نام __init__.py داشته باشد. این پرونده را می توان خالی گذاشت اما ما به طور کلی کد مقداردهی اولیه آن بسته را در این پرونده قرار می دهیم.

به عنوان مثال. فرض کنید ما در حال ساخت یک بازی هستیم. یک راه ممکن برای سازمان‌ دهی بسته ‌ها و ماژول ‌ها می تواند مانند شکل زیر باشد.

 

 

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

ما می توانیم با استفاده از عملگر نقطه (.) ماژول ها را از بسته ها وارد کنیم.

به عنوان مثال، اگر ما بخواهیم ماژول start را در مثال بالا وارد کنیم ، می توان این کار را به صورت زیر انجام داد:

import Game.Level.start

 

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

Game.Level.start.select_difficulty(2)

 

اگر این ساختار طولانی به نظر می رسد، ما می توانیم ماژول را بدون پیشوند بسته به شرح زیر وارد کنیم:

from Game.Level import start

 

اکنون می توانیم تابع را به صورت زیر فراخوانی کنیم:

start.select_difficulty(2)

 

روش دیگر برای وارد کردن فقط تابع مورد نیاز (یا کلاس یا متغیر) از یک ماژول در داخل بسته به شرح زیر است:

from Game.Level.start import select_difficulty

 

اکنون می توانیم مستقیماً این تابع را فراخوانی کنیم.

select_difficulty(2)

 

اگرچه این کار آسان تر است، اما این روش توصیه نمی شود. استفاده از فضای نام کامل از سردرگمی جلوگیری می کند و از وجود دو نام  شناساگر مشابه جلوگیری می کند.

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

منبع.

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

  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 در برنامه نویسی پایتون
  21. ماژول های برنامه نویسی پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه