import کردن ماژول ها در پایتون و روش های آن
مقدمه
در ادامه سلسله جلسات آموزش پایتون قصد داریم این بار بحث import کردن ماژول ها در پایتون را شروع کنیم. همانطور که می دانید در پایتون روش های مختلفی برای import کردن ماژول ها وجود دارد و ما در این جلسه قصد داریم برخی از این روش ها را با یکدیگر بررسی کنیم.
مثل همیشه قبل از هر چیز انتظار داریم تا پایتون بر روی سیستم شما نصب باشد. برای این کار می توانید از لینک آموزش زیر استفاده کنید:
منظور از یک ماژول در پایتون چیست؟
ماژول ها در واقع یک سری کدهای آماده پایتون می باشند که توابعی آماده شده در درون خود دارند و ما میتوانیم از آن توابع برای برای کارهای خود استفاده کنیم. بدون آن که نیاز به پیاده سازی داشته باشیم.
مثلا ماژول statistics که برای انجام کارهای آماری می باشد را در نظر بگیرید. در این ماژول تابعی به نام variance وجود دارد که به کمک این تابع میتوانیم واریانس یک سری از اعداد را محاسبه کنیم. حال فرض کنید خودتان میخواستید این کار را انجام دهید. کار کمی برای ما سخت می شد و باید آن تابع را از صفر خودمان می نوشتیم.
همانطور که گفته شد ، ماژول ها یک سری کدهای پایتون هستند. این کدها را میتوانید در محل نصب python در سیستم عامل خود و در پوشه lib پیدا کنید.
ماژول هایی که به صورت پیش فرض بر روی سیستم شما نصب شده در پوشه lib وجود دارد و ماژول هایی که خودتان اقدام به نصب آن می کنید ، در پوشه lib و در زیرپوشه site-packages قرار می گیرند.
روش های مختلف import کردن ماژول ها در پایتون
روش اول : import ساده
syntax مربوط به این روش در شکل زیر آورده شده است.
[post_shop]
همانطور که مشاهده می کنید به صورت بسیار ساده ما ماژول مورد نظر خود را به برنامه اضافه کرده ایم. نمونه این import کردن در کد زیر آورده شده است :
import statistics
میبنید که موضوع بسیار ساده است و هیچ نیازی به توضیح بیشتر وجود ندارد.
روش دوم : استفاده از کلمه کلیدی as
فرض کنید میخواهیم از همان توابع آماری استفاده کنیم. در این صورت اگر بخواهیم واریانس یک سری از اعداد را بدست آوریم ، باید از کدی شبیه به کد زیر استفاده کنیم :
import statistics my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = statistics.variance(my_lst) print("vaiance :" , my_variance)
همانطور که میبینید ما مجبور هستیم تا برای استفاده از تک تک دستورات مربوط به این ماژول از کلمه statistics استفاده کنیم. این کار اگر یک بار باشد مشکلی ایجاد نمی کند. ولی فرض کنید ما میخواهیم 100 بار در یک کد آن را انجام دهیم. در این صورت کمی آزار دهنده خواهد بود.
برای حل این مشکل میتوانیم از کلمه کلیدی as استفاده کنیم. قبل از توضیح بیشتر کد زیر را ببینید :
import statistics as st my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = st.variance(my_lst) print("vaiance :" , my_variance)
همانوطور که مشاهده میکنید ، با استفاده از کلمه کلیدی as دیگر نیاز به استفاده کامل از statistics نداریم و میتوانیم به جای آن از st استفاده کنیم که در خط اول معرفی کرده ایم. در واقع از این به بعد st همان statistics می باشد.
روش سوم : استفاده از دستور from — import
فرض کنید کلا دوست نداشتم تا از statistics و یا حتی st در ابتدای دستورات خود استفاده کنیم و صرفا میخواستم نام خود تابع را صدا بزنیم بدون هیچ کار اضافه ای(که کاری معقول و منطقی می باشد.)
برای این کار میتوانیم از syntax معروف به نام from —– import استفاده کنیم. به شکل زیر توجه کنید.
همانطور که میبینید ، با این syntax مشخص کرده ایم که ما میخواهیم از متد واریانس استفاده کنیم و به همین دلیل در ادامه کد دیگر نیاز به استفاده از statistics و یا st نمی باشد و صرفا میتوانیم نام خود تابع را صدا بزنیم. یعنی :
from statistics import variance my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = variance(my_lst) print("vaiance :" , my_variance)
حتی میتوانیم در این جا نیز از کلمه کلیدی as استفاده کنیم. مثلا :
from statistics import variance as v my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = v(my_lst) print("vaiance :" , my_variance)
حال کافی است تا برای استفاده از تابع variance صرفا بنویسیم ، v که کار را برای ما خیلی ساده می کند.
سوالی که ممکن است ایجاد شوید این است که فرض کنید ما میخواستیم تا از دو متد موجود در statistics استفاده کنیم. هم متد variance و هم متد mean. در این صورت باید چه کاری انجام دهیم ؟
پاسخ این است که کافی است تا متدهای مختلف را با علامت , از یکدیگر جدا کنید. کد زیر را ببینید:
[/post_shop]from statistics import variance , mean my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = variance(my_lst) my_mean = mean(my_lst) print("vaiance :" , my_variance) print("vaiance :" , my_mean)
میبینید که به سادگی از هر دو متد در برنامه خود استفاده کنیم.
اما احتمالا یک سوال دیگر نیز در اینجا مطرح می شود. فرض کنید میخواستیم از همه توابع موجود در ماژول statistics استفاده کنیم. در این صورت باید چه کاری انجام دهیم ؟
پاسخ ساده است. کافی است از * استفاده کنید. کد زیر را ببینید :
from statistics import * my_lst = [5,4,6,4,3,2,5,7,8,9] my_variance = variance(my_lst) my_mean = mean(my_lst) print("vaiance :" , my_variance) print("vaiance :" , my_mean)
سوال : فرض کنید میخواستیم در ماژول statistics از متدهای mean با کلمه m و variance با کلمه v استفاده کنیم و نمیخواستیم هیچ متد دیگری از این ماژول به برنامه اضافه شود. در این صورت باید چه کدی می نوشتیم ؟
در پایان مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:
دیدگاهتان را بنویسید