پکیج یا ماژول در پایتون (Python) چیست؟ و چه کاربردی دارد؟!

در این آموزش به بحث درباره این موضوع که پکیج یا ماژول در پایتون (Python) چیست و چه کاربردی دارد می‌پردازیم! به طور خلاصه، package یک سری کد هست که یه سری افراد دیگر آن را نوشته و در اختیار دیگران قرار داده اند! و ما می‌توانیم با بهره گیری از آن‌ها، ساده تر یک سری عملیات را انجام دهیم!

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

خیلی واضحه که برای انجام هر عملیاتی در پایتون (Python) نیاز تا یه سری کُد نوشته بشه! اما بعضی وقت‌ها یک سری از بندگان خدا میرن واسه خودشون یک سری کدها رو می‌نویسن و آماده کردن! و میدن دست بقیه ملّت و میگن شما هم استفاده کنید! [چه انسان‌های خوبی هستن واقعاً]

  • مثلاً ما پکیجی داریم برای کارهای آماری به اسم statistics ! (مثلاً برای همین موضوع، قبول دارید اگر قرار باشه خودمون همه کدهای مورد نیاز خودمون رو بنویسیم خیلی زیاد میشه؟! علی الاصول باید قبول داشته باشید!) [برای همین خودمون رو راحت می‌کنیم و میریم از کدهایی که این بندگان خدا در ماژول یا پکیج statistics نوشتن استفاده میکنیم و حالشو می‌بریم و الکی اووون همه کد نمی‌نویسیم!]
  • یا مثلاً برای کارهای ریاضی پکیجی داریم به اسم math !
  • یا مثلاً واسه رسم نمودار یه package یا ماژول داریم به اسم matplotlib
  • و …!

کلاً انقدر پکیج /ماژول داریم که اگر از همین الان تا فردا همین موقع شروع کنید به نوشتن اسامی این package ها، قطعاً باز تموووم نمیشه!!!

پکیج های داخلی و خارجی!

این تیتر رو برای شوخی این جوری نوشتم! وگرنه چیزی به اسم package یا ماژول خارجی و داخلی نداریم! ولی منظورم اینه که یک سری پکیج ها هستن که خود پایتون (python) از همووون اول که نصبش می‌کنید پایتون رو، لطف میکنه و واسه ما نصب میکنه! (مثل پکیج یا ماژول های math، statistics و …!)

اما یه عده دیگه هم هستن که دیگه از همون اول نصب نیست! (مثل پکیج‌های matplotlib و …)! و ما خودمون باید نصب کنیم!

شاید بگین که چه کاریه؟! همه رو نصب می‌کرد دیگه!!

واقعیت اینه که اصلاً منطقی نیست و اصلاً نشدنی است! برای این موضوع هم اگر از الان تا پس فردا شروع کنید به نصب package ها، باز تموووم نمیشه!

و حجم بعضی پکیج‌ها بعضاً زیاد میشه! و از طرفی بعضی package ها انقدر تخصصی میشه که اصلاً به درد خیلی ها نمی‌خوره!

مثلاً Google یک پکیج یا ماژول درست کرده واسه پایتون (Python) به اسم TensorFlow (که خودش هم ازش استفاده میکنه!) که واسه Deep Learning و یادگیری عمیق است! ممکنه یکی اصلاً در تمام زندگیش حتی نَشْنَوه که یادگیری عمیق چیست! حالا چرا باید این روی پایتون این بنده خدا نصب باشه؟! قبول دارید منطقی نیست! (قطعاً باید بگید: بله کاملاً قبول دارم!)

نکته: پس ما گفتیم که یک سری package ها هستن که در حالت پیش فرض نصب نیستن و ما باید خودمون نصبشووون کنیم! حالا این نصب راه های مختلفی داره! [گاهاً هم با فلاکت مواجه میشه! یعنی یک روش ممکنه روی کامپیوتر یکی کار کنه، روی کامپیوتر یکی دیگه کار نکنه! برای همین ماها که آموزش میدیم، بدبختانه مجبوریم ۵۰۰ روش رو آموزش بدیم! البته عدد ۵۰۰ روش واضحه که اغراق بود!]

آموزش نصب پکیج های مختلف در پایتون (Python)

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

هر ماژولی رو که بخواید استفاده کنید (چه اون هایی ک داخلی هستن و چه اونایی که خارجی هستن و شما نصب کردید!) رو باید قبل از استفاده وارد برنامه بکنین! یعنی قبلش باید به پایتون (Python) بگید که من می‌خوام از این استفاده بکنم و بهش بگین که براتون اووون رو داخل فضای برنامه بیاره تا بتونید ازش استفاده کنید!

برای این کار باید اون پکیج رو import کنید! (وارد برنامه کنید!) [import یعنی وارد کردن!]

مثال: محاسبه جذر با پکیج math

مثلاً قطعه کد زیر رو در نظر بگیرید!

در خط اول ماژول math رو وارد برنامه کردیم!

در خط دوم گفتیم از همین پکیج math، تابع sqrt رو می‌خوایم استفاده کنیم واسه محاسبه جذر (= ریشه دوم) عدد ۸ ! و خلاصه این جذر ۸ رو میریزیم توی متغیر a !

در خط آخر هم که a رو چاپ می‌کنیم!

نتیجه اجرای این قطعه کُد میشه: ۲٫۸۲۸۴۲۷۱۲۴۷۴۶۱۹۰۳ !

راهکاری برای کاربرِ بی‌حوصله!

شاید یه کاربری حوصله نداشته باشه، سه ساعت تایپ کنه math! و می‌خواد بجای اینکه هر دفعه اسم به این بلندی رو تایپ کنه! مثلاً بنویسیم m، یا sajjad [هرچند از خود math طولانی‌تره ولی گفتم که بدونید اصلاً مهم نیست چی باشه اسمش!] یا هر چیز دیگه!

برای این کار می‌گیم:

خط ۱: میگیم پکیج math رو با اسم مستعار m وارد برنامه کن! (چندمین بار تاکید می‌کنم که بجای m هرچیزی میتونست باشه! اسمه دیگه! مهم نیست!)

خط ۲: در خط بعدی می‌گیم از m (که در واقع هموون اسمِ مستعار math است! و داره به اووون اشاره میکنه!) بیا sqrt (یعنی ریشه دوم) عدد ۸ رو حساب کن! و بریز توی متعیر a!

خط ۳: محبت کن متغیر a رو چاپ بفرما!

نتیجه این کد میشه همون عدد: ۲٫۸۲۸۴۲۷۱۲۴۷۴۶۱۹۰۳ !

ساب پکیج (زیر پکیج)

مثلاً یکی از چیزهایی که در آموزش‌های رسم نمودار باهاش برخورد می‌کنید اینه:!

این خط کد بالا مربوط به package خیلی خوبِ matplotlib است که برای رسم نمودار استفاده میشه! که نیازه نصبش کنید و در حالت عادی در پایتون نصب نیست!

میگیم: «وارد کن از پکیج matplotlib، ساب‌پکیجِ pyplot را با اسم مستعارِ plt»! یعنی خود ماژول matplotlib واسه خودش دم و دستگاه و زیرپکیج داره و ما می‌گیم زیرپکیج pyplot رو برامون وارد کن، و بجای اینکه هِی بگیم pyplot، می‌گیم plt !

اینو بگم که بقیه کد رو نباید توضیح بدم در این آموزش! چون اصلاً ربطی به این آموزش نداره و خودش یه عالمه بحث میطلبه!

فقط یادمون باشه، که وقتی از اسم مستعار استفاده می‌کنیم، موقع فراخوانی (مثلاً در خط ۴ و ۵) هم باید از اسم مستعار plt استفاده کنیم!

from … import

اینم آخرین فرمتی که باید یاد بگیرید! مثلاً قطعه کد زیر رو در نظر بگیرید!

میگه از (from یعنی «از» دیگه!) ماژولِ matplotlib، وارد کن ساب‌پکیجِ pyplot را! (بقیه خط‌هاش هم اصلاً نباید الان گفته بشه، فقط برای اینکه کامل باشه، بقیش رو آوردم!)

یا حتی اینجوری هم ممکنه بنویسن!

یعنی میگه: از matplotlib وارد کن ساب پکیجِ pyplot را با اسم مستعار plt!

فقط توجه کنید که وقتی با اسم مستعار وارد میکنه، توی خط های بعد (خط ۴ و ۵) هم با اسم مستعارش فراخووونیش میکنه!

کانال تلگرامی ما رو هم دنبال کنید (هر روز تمرین پایتون و مطالب مفیدی قرار میدیم)@Koolac_Org
+