ساخت ماژول در پایتون — آموزش ایجاد ماژول به زبان ساده
برنامهنویسی ماژولار، رویکردی برای طراحی نرمافزار است که با استفاده از آن، میتوان اجزای یک برنامه را به بخشهای کوچکتر تقسیم کرد. به هر یک از این بخشهای کوچکتر برنامه، ماژول گفته میشود. با استفاده از این رویکرد برنامهنویسی، میتوان ماژولها را به صورت جداگانه ایجاد کرد و آنها را به طور مستقل مورد بررسی و آزمایش قرار داد. همچنین، از ماژولهای ساخته شده میتوان در سایر پروژههای برنامهنویسی استفاده کرد. زبان برنامهنویسی پایتون به عنوان یکی از زبانهای برنامهنویسی شئگرا، از برنامهنویسی ماژولار پشتیبانی میکند. در مقاله حاضر سعی شده است تا حد امکان بهطور جامع به نحوه ساخت ماژول در پایتون پرداخته و شیوههای مختلف فراخوانی ماژولها در پایتون به همراه مثال شرح داده شوند.
ماژول چیست ؟
برنامههای کامپیوتری میتوانند از بخشهای متعدد و جداگانهای تشکیل شوند که به هر یک از این بخشها، ماژول گفته میشود؛ به عبارتی، عملیات مختلف یک برنامه کامپیوتری را میتوان با استفاده از ماژولهای جداگانه تعریف کرد.
با تخصیص دادن نامهای منحصربفرد به کدهای ماژولار شده، میتوان به دفعات از آنها در برنامه استفاده کرد؛ به عبارت دیگر، زمانی که نیاز است از قطعه کدی چندین بار در برنامه فعلی خود یا در سایر پروژههای برنامهنویسی استفاده شود، تنها باید نام ماژول مورد نظر را در برنامه فراخوانی کرد. بدین ترتیب، با استفاده از این روش میتوان از نوشتن کدهای تکراری در برنامه جلوگیری کرد.
برنامهنویسی ماژولار خوانایی و کارایی برنامه را افزایش میدهد و به تسریع نوشتن برنامه کامپیوتری و تست آن کمک میکند. بهعلاوه، چنین رویکردی در کدنویسی به برنامهنویس این امکان را میدهد که تنها بر بخش خاصی از برنامه تمرکز داشته باشد. در ادامه، به توضیح انواع ماژول و نحوه ساخت ماژول در پایتون پرداخته میشود.
انواع ماژول در پایتون کدامند ؟
زبان برنامهنویسی پایتون یکی از زبانهای برنامهنویسی شئگرا محسوب میشود که از رویکرد برنامهنویسی ماژولار پشتیبانی میکند؛ به عبارتی، میتوان از کدهایی که به صورت مکرر در پروژههای مختلف برنامهنویسی به کار میروند، در قالب توابع مستقل یا متد کلاس استفاده کرد.
برای ساخت ماژول در پایتون، میتوان از فایلی با پسوند py. استفاده کرد؛ به عبارتی، هر فایلی با پسوند py. در پایتون، ماژول تلقی میشود. ماژولهای پایتون را میتوان به دو دسته تقسیمبندی کرد:
- «ماژولهای توکار» (Built-in Modules): ماژولهای توکار، ماژولهای از پیش تعریف شدهای هستند که میتوان از طریق «کتابخانه استاندارد پایتون» (Python Standard Library) به آنها دسترسی داشت. با دستورpip میتوان ماژولهای توکار را برروی سیستم نصب و در پروژههای مختلف برنامهنویسی از آنها استفاده کرد. دستورpipمدیریت «بستههای» (Packages) پایتون را برعهده دارد و امکان نصب ماژولها و بستههای موجود در کتابخانه پایتون را فراهم میکند.
- «ماژولهای تعریف شده توسط کاربر» (User-Defined Modules): برنامهنویسان میتوانند توابع و کلاسهای خود را در قالب ماژول با پسوند py. ذخیره و به دفعات از آنها در پروژههای برنامهنویسی مختلف استفاده کنند.
در ادامه مطلب حاضر، به نحوه فراخوانی ماژولها در پایتون به همراه مثال پرداخته میشود.
نحوه فراخوانی ماژول در پایتون چگونه است ؟
پایتون هزاران ماژول استاندارد دارد که میتوان برخی از این ماژولهای آماده را در پوشه Lib در محل نصب پایتون مشاهده کرد. نحوه فراخوانی ماژولهای توکار، مشابه با شیوه فراخوانی ماژولهای تعریف شده توسط کاربر هستند. به منظور فراخوانی ماژولها در برنامه خود، از دستورات زیر استفاده میشود:
- فراخوانی ماژول در پایتون با استفاده از دستور Import
- فراخوانی ماژول در پایتون با استفاده از تغییر نام ماژول
- فراخوانی ماژول در پایتون با استفاده از دستور From...Import
- فراخوانی ماژول در پایتون با استفاده از دستور *
در ادامه، به توضیح هر یک از دستورات فوق برای فراخوانی ماژولهای توکار پرداخته میشود و پس از آن، توضیحاتی درباره نحوه ساخت ماژول در پایتون و شیوه فراخوانی ماژولهای ساخته شده توسط کاربر ارائه خواهد شد.
فراخواندن ماژول در پایتون با استفاده از دستور Import
به منظور فراخوانی ماژولهای استاندارد در پایتون، از کلمه کلیدیimport استفاده میشود. بعد از نوشتن کلمه کلیدیimport باید نام فایل ماژول مربوطه را وارد کرد. نکته مهم این است که نباید بعد از کلمه کلیدیimport نام تابع درون ماژول نوشته شود. به عبارتی، کلمه کلیدیimport صرفاً برای فراخوانی نام ماژول استفاده میشود. در مثال زیر، ماژولmath ، به عنوان ماژول توکار در پایتون، فراخوانی شده است. پس از فراخوانی این ماژول، میتوان از تابعpi در این ماژول استفاده کرد.
1# import statement example
2# to import standard module math
3
4import math
5print("The value of pi is", math.pi)
با اجرای دستور فوق، خروجی به صورت زیر خواهد بود.
The value of pi is 3.141592653589793
فراخوانی ماژول در پایتون با استفاده از دستور As برای تغییر نام
با استفاده از کلمه کلیدیas میتوان به ماژول فراخوانی شده، نام مستعار داد. زمانی از نام مستعار برای ماژولها استفاده میشود که نام ماژول طولانی باشد و نوشتن نام کامل ماژول در سراسر برنامه، زمانبر باشد. در مثال زیر، نام مستعارm برای نام ماژولmath درنظر گرفته شده است.
1# import module by renaming it
2
3import math as m
4print("The value of pi is", m.pi)
خاطرنشان میشود که با دادن اسم مستعارm به ماژول فراخوانی شده، دیگر نمیتوان از نام اصلی ماژولmath در برنامه استفاده کرد. به عبارتی، باید برای استفاده از ماژول، اسم مستعار جدید ماژول را به کار برد؛ در غیر این صورت، برنامه با خطای کامپایلر مواجه میشود.
Traceback (most recent call last): File "<string>", line 4, in <module> NameError: name 'math' is not defined >
صدا زدن ماژول در پایتون با استفاده از دستور From...Import
با استفاده از دستور From...Import میتوان به جای فراخواندن کل ماژول، اسامی خاصی را از ماژول فراخواند. به عنوان مثال، ماژولmathدارای توابع ریاضیاتی مختلفی است که یکی از این توابع، تابعpiنام دارد. با استفاده از روش فراخوانی From...Import میتوان فقط تابعpi این ماژول را فراخوانی کرد. علاوه بر این، با استفاده از این روش فراخوانی ماژول، دیگر نیازی نیست برای استفاده از تابع ماژول، نام ماژول را نیز به صورتmath.pi به کار ببریم؛ تنها کافی است که نام تابعpiرا مستقیماً در برنامه استفاده کنیم.
1# import only pi from math module
2
3from math import pi
4print("The value of pi is", pi)
همچنین، میتوان با استفاده از دستور From...Import نام چندین تابع و متغیر از یک ماژول را با استفاده از کاما فراخوانی کرد. در مثال زیر، با استفاده از دستور From...Import تابعpiو متغیرe از ماژولmath به صورت همزمان فراخوانی شدهاند.
1>>> from math import pi, e
در خروجی نیز میتوان مستقیماً به مقدار هر یک از توابع و متغیرها به صورت زیر دسترسی داشت.
>>> pi 3.141592653589793 >>> e 2.718281828459045
فراخوانی ماژول در پایتون با استفاده از دستور ستاره
با استفاده از دستور* میتوان تمامی اجزای ماژول را فراخوانی کرد. در مثال زیر، تمامی اسامی مربوط به اجزای ماژولmath فراخوانی شدهاند.
1# import all names from the standard module math
2
3from math import *
4print("The value of pi is", pi)
فراخوانی ماژول با استفاده از ستاره روش کارامدی در برنامهنویسی نیست زیرا این روش منجر به کاهش خوانایی برنامه خواهد شد. توصیه میشود از سایر شیوههای فراخوانی در کدنویسی استفاده شود.
معرفی فیلم های آموزش پایتون
سایت فرادرس یک مجموعه آموزشی برای علاقهمندان به یادگیری زبان برنامهنویسی پایتون فراهم کرده است. امروزه، پایتون به عنوان یکی از زبانهای برنامهنویسی شئگرا، در اکثر حوزههای برنامهنویسی استفاده میشود. افراد علاقهمند به این زبان میتوانند از مجموعه فیلمهای آموزشی پایتون در سایت فرادرس استفاده کنند. این دورههای آموزشی شامل فیلمهای آموزشی مقدماتی تا پیشرفته و پروژهمحور زبان پایتون میشوند. در تصویر فوق تنها برخی از دورههای آموزشی مجموعه آموزش پایتون فرادرس نمایش داده شدهاند.
- برای دسترسی به همه آموزش های پایتون فرادرس + اینجا کلیک کنید.