import

بعد از اینکه تصمیم گرفتیم از عبارت shebang استفاده کنیم یا نه و یک docstring به ابتدای برنامه اضافه کردیم، فایل های پایتون معمولا شامل دستورات import هستند که کلاس ها، ماژول ها و توابع را از کتابخانه های مختلف به برنامه اضافه می کنند. برای مثال اگر بخواهید مقدار مربع عدد نپر(e) را نمایش دهیم میتوانیم از دستور exp(2) که در کتابخانه ی math قرار دارد استفاده کنیم. کتابخانه ی math یک کتابخانه ی استاندارد پایتون است که اعداد مختلف (مانند عدد نپر یا عدد π) و عملیات مختلف ( مانند فاکتوریل ! که در مثال های قبل دیدیم) را به سادگی در اختیار ما قرار می دهد. برای اضافه کردن این کتابخانه به برنامه از دستور زیر استفاده میکنیم:

import math

میدانیم که exp(2) متعلق به کتابخانه ی math است و برای بکارگیری آن از کد زیر استفاده می کنیم:

math.exp(2)

باید در خروجی ببینید:

7.38905609893065

در نمونه ی کد بالا تمام کتابخانه ی math به برنامه ی ما اضافه می شود و ما از تابع exp که درون این کتابخانه(ماژول) قرار دارد استفاده کرده ایم؛ اما راه دیگری نیز وجود دارد که بدون استفاده از تمام کتاب خانه math تنها تابع exp را به برنامه ی خود وارد کنیم:

from math import exp
exp(2)

خروجی این بلوک دقیقا برابر با خروجی قبلی است اما برخلاف سلول قبلی نیاز به نوشتن دستور توان به شکل math.exp وجود ندارد و تابع exp مستقیما وارد برنامه می شود.

راه دیگری نیز برای import این دستور وجود دارد که در آن تمام توابع و کلاس های کتابخانه ی math را با یک دستور به برنامه اضافه میکنیم:

from math import *
exp(2)

ساختار * import به سادگی تمام المان های ماژول را به برنامه اضافه می کند. اضافه کردن کتابخانه و ماژول های مختلف به برنامه در زمان اجرای دستور import زمان بر است اما در اجرای دستورات اصلی برنامه باعث کندی نمی شود؛ اما معمولا این کار را انجام نمیدهیم چرا که اگر تعداد زیادی از توابع و المان ها را از کتاب خانه و ماژول های مختلف به برنامه وارد کنیم ممکن است در اسامی توابع و المان های وارد شده از منابع مختلف به برنامه تداخل به وجود بیاید. همچنین بررسی و پیداکردن المان های import شده هم دشوار می شود چرا که ممکن است تعداد بسیار زیادی از المان ها را وارد برنامه ی خود کرده باشید.

راه بهتری نیز برای وارد کردن توابع و کتابخانه ها به برنامه وجود دارد به این صورت که پس از وارد کردن آنها به برنامه از دستور as استفاده کنیم:

from math import exp as exponential
exponential(2)

با استفاده از این روش میتوانید توابع و یا کلاسهایی که نام اصلی آنها مشترک است را به راحتی به برنامه ی خود وارد کنید و یا حتی کد خود را خواناتر کنید.


در مورد کتابخانه های استاندارد در فصل هفتم کاملا صحبت می کنیم و فعلا نگران یادگیری آنها نباشید.