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

 

پکیج و ماژول چیست؟

تعریف پکیج و ماژول به صورت زیر می‌باشد:

ماژول (module): ماژول یک برنامه پایتونی py. می‌باشد، که در برنامه دیگری صدا زده می‌شود.

پکیج (package): مجموعه‌ایی از ماژول‌ها را پکیج می‌نامند.

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

ایجاد ماژول و پکیج‌ های شخصی‌سازی شده

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

ماژول و پکیج شخصی سازی شده

هر فولدر پکیج حتما باید دارای یک فایل به نام  __init__ باشد تا پایتون متوجه شود که با یک پکیج روبرو است. این فایل می‌تواند یک فایل خالی باشد. با این حال گاهی ممکن است تنظیمات اولیه آن پکیج نیز داخل این فایل قرار گیرد.

ابتدا در داخل فولدر اصلی که به نام python project5 می‌باشد، فایل پایتون به نام myprogram.py که برنامه اصلی و اجرایی می‌باشد را ایجاد می‌کنیم. به این صورت که بر روی دایرکتوری اصلی کلیک راست کرده وارد قسمت New شده و گزینه Python File را انتخاب می‌کنیم. سپس یک فایل پایتونی با نام myprogram.py ایجاد می‌کنیم.

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

 

همچنین در داخل فولدر اصلی که به نام python project5  می‌باشد. فایل پایتون به نام mymodule.py که دارای یک سری تابع است، ایجاد می‌کنیم.  در واقع قرار است در myprogram.py آن توابع را صدا بزنیم. این فایل پایتونی یک ماژول می‌باشد.

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

 

سپس در داخل فولدر اصلی python project5، یک فولدر به نام main_package ایجاد می‌کنیم. که این فولدر یک پکیج است. به این صورت که بر روی دایرکتوری اصلی کلیک راست کرده وارد قسمت New شده و گزینه Directory را انتخاب می‌کنیم. سپس یک فولدر با نام main_package ایجاد می‌کنیم.

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

 

درون فولدر main_package که یک پکیج می‌باشد، یک فایل پایتون با نام __init__ و یک فایل پایتونی به نام mainmodule.py که به عنوان یک ماژول است، ایجاد کرده‌ایم.

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

 

همچنین در فولدر main_package  که پکیج اصلی می‌باشد. یک فولدر دیگر به نام sub_package که زیر پکیج می‌باشد،‌ ایجاد می‌کنیم.

ایجاد زیر پکیج در پکیج ها در پایتون

 

در داخل فولدر sub_package که یک زیر پکیج می‌باشد، فایل پایتونی __init__.py و فایل پایتونی submodule.py (ماژول) را می‌سازیم.

ایجاد ماژول در زیر پکیج

 

حال که تمام پکیج‌ها و ماژول‌ها  را بر اساس یک سلسله مراتب ساخته‌ایم. ابتدا داخل فایل پایتونی mymodule (ماژول) می‌شویم و فانکشن module_fun را می‌سازیم.

ایجاد تابع در ماژول

 

سپس داخل فایل پایتونی mianmodule (ماژول) که داخل فولدر main_package (پکیج) می‌باشد، فانکشن main_func را می‌سازیم.

ایجاد تابع در ماژول و یکیج

 

همچنین داخل فایل پایتونی submodule (ماژول) که داخل فولدر sub_package  (پکیج) می‌باشد، فانکشن sub_func را می‌سازیم.

ایجاد تابع در زیر ماژول در زیر پکیج

نحوه استفاده از توابع ماژول ها و پکیج ها

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

توابع موجود در ماٰژول و پکیج ها

 

برای فراخوانی توابع ایجاد شده در ماژول و پکیج‌های ایجاد شده، می‌توان تابع را با دستور from و import فراخوانی کرد. به عنوان مثال اگر بخواهیم در فایل myprogram تابع module_fun که در فایل mymodule (ماژول) می‌باشد را فراخوانی کنیم، می‌توان دستور from mymodule import module_func را نوشت و سپس تابع را فراخوانی کرد.

استفاده از توابع ماژول ها

 

اگر بخواهیم تابعی را که در داخل فایل mainmodule  (ماژول) می‌باشد را در داخل فایل myprogram فراخوانی کنیم، به دلیل آن که فایل mainmodule درون فولدر main_package (پکیج) می‌باشد، ایتدا دستور from main_package import mainmodule را نوشته و سپس ()mainmodule.main_fun را می‌نویسیم. در این صورت تابع ()main_func فراخوانی می‌شود.

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

 

اگر بخواهیم فانکشن موجود در فایل پایتونی submodule (ماژول) را فراخوانی کنیم. به دلیل اینکه این فایل درون فولدر sub_package (زیرپکیج) می‌باشد و این فولدر هم درون فولدر main_package (پکیج) می‌باشد، ابتدا دستور from main_package.sub_package import submodule را نوشته، سپس ()submodule.sub_func را می‌نویسیم. در این صورت فانکشن ()sub_func فراخوانی می‌شود.

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

 

main & name در پکیج و ماژول

if__name__==”__main__” به این این معنی می‌باشد که، هر چه در این if قرار می‌گیرد، زمانی اجرا می‌شود که خود ماژول به صورت مستقیم اجرا شود و اگر در برنامه دیگری صدا زده شود، اجرا نمی‌شود. گاهی اوقات لازم است که کدهایی فقط و فقط در داخل خود ماژول اجرا شود. به این معنی که اگر در برنامه دیگری صدا زده شد، کدهای مد نظر اجرا نگردد. به عنوان مثال دو فایل پایتونی one.py و two.py داریم که می‌توانیم از این دستور شرطی در آن‌ها استفاده کنیم. ابتدا در داخل فایل one یک فانکشن نوشته، سپس یک دستور print اجرا می‌شود و در نهایت این دستور شرطی را می‌نویسیم. اگر فایل one را run بگیریم می‌بینیم شرط if اجرا می‌شود، زیرا در همین فایل one، کد run شده است.

main و name در ماژول ها و پکیج ها

 

اما اگر در فایل پایتونی two فایل one را run کنیم. می‌‌بینیم که شرط else اجرا می‌شود. همچنین تابع func اجرا نشد تا زمانی که شرط else اجرا شد سپس این تابع فراخوانی شد.

main و name در داخل پکیج‌ها و ماژول‌ها

 

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

0/5 (0 Reviews)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست