ماژول به شما این امکان را می دهد تا کد پایتون را به طور منطقی سازماندهی کنید.گروه بندی کد مربوط به ماژول ، درک و استفاده از کد را آسانتر می کند.ماژول یک شیء پایتون با ویژگی های دلخواه است که می توانید آنرا وصل کنید و به آنها مراجعه کنید.به سادگی ، یک ماژول پرونده ای است که از کد پایتون تشکیل شده است.یک ماژول می تواند توابع ، کلاس ها و متغیرها را تعریف کند. یک ماژول همچنین می تواند شامل کد قابل اجرا باشد.
در اینجا مثالی از یک ماژول ساده میزنیم ،که در فایلی بنام support.py آورده شده است
def print_func( par ): print "Hello : ", par return
حال نوبت میرسه یه وارد کردن و استفاده از ماژولی که ساختیم.
برای اینکار کافیست فایلی که ساختیم رو به همون نام بهمراه دستور import در برنامه اصلی بنویسید مانند مثال زیر:
#!/usr/bin/python # Import module support import support # Now you can call defined function that module as follows support.print_func("Zara")
با اجرای کد بالا ، نتیجه زیر حاصل می شود :
Hello : Zara
وقتی ماژول را وارد می کنید ، مترجم پایتون زیر ماژول ها را جستجو می کند:
–دایرکتوری فعلی
–اگر ماژول یافت نشد ، Python سپس هر فهرست را در متغیر پوسته PYTHONPATH جستجو می کند.
–در صورت عدم موفقیت ، پایتون مسیر پیش فرض را بررسی می کند. در UNIX ، این مسیر پیش فرض به طور معمول / usr / local / lib / python / است.
مسیر جستجوی ماژول در سیستم های ماژول سیستم به عنوان متغیر sys.path ذخیره می شود. متغیر sys.path شامل پوشه فعلی ، PYTHONPATH و پیش فرض وابسته به نصب است.
PYTHONPATH یک متغیر محیطی است که از لیستی از فهرست ها تشکیل شده است. نحو PYTHONPATH همانند متغیر پوسته PATH است.
در اینجا یک PYTHONPATH معمولی از یک سیستم ویندوز وجود دارد
set PYTHONPATH = c:\python20\lib;
و در اینجا یک PYTHONPATH معمولی از یک سیستم UNIX است :
set PYTHONPATH = /usr/local/lib/python
متغیرها نام هایی هستند که به اشیاء نقشه می زنند.
فضای نام یک فرهنگ لغت از نام متغیر (کیبورد) و اشیاء مربوط به خود را (ارزش) است.
یک عبارت پایتون می تواند به یک متغیر در یک نام محلی و در فضای نام عمومی دسترسی پیدا کند .
اگر یک متغیر محلی و عمومی دارای همین نام باشند ، متغیر محلی متغیر عمومی را سایه می زند.
هر عملکرد دارای نام محلی محلی خود است.
روش های کلاس از همان قاعده یابی مانند عملکردهای معمولی پیروی می کنند.
پایتون حدس می زند که آیا متغیرها محلی یا عمومی هستند.
فرض می کند که هر متغیری که یک مقدار را در یک عملکرد اختصاص داده باشد ، محلی است.
بنابراین ، برای اختصاص یک مقدار به یک متغیر عمومی در یک تابع ، ابتدا باید از عبارت عمومی استفاده کنید.
جمله عمومی VarName به پایتون می گوید VarName یک متغیر عمومی است.
پایتون جستجوی فضای نام محلی برای متغیر را متوقف می کند.
به عنوان مثال ، ما یک متغیر پول متغیر را در فضای نام عمومی تعریف می کنیم .
در تابع پول ، ما اختصاص پول ارزش، بنابراین پایتون فرض پول به عنوان یک متغیر محلی است.
با این حال ، ما قبل از تنظیم کردن به مقدار متغیر محلی Money دسترسی داشتیم ، بنابراین نتیجه UnboundLocalError است.
عدم اعلان متغیر عمومی مشکل را برطرف می کند.
#!/usr/bin/python Money = 2000 def AddMoney(): # Uncomment the following line to fix the code: # global Money Money = Money + 1 print Money AddMoney() print Money
تابع داخلی (dir) داخلی ، لیست مرتب شده ای از رشته های حاوی نام های تعریف شده توسط یک ماژول را برمی گرداند.
لیست شامل اسامی همه ماژول ها ، متغیرها و عملکردهایی است که در یک ماژول تعریف شده اند. در زیر یک مثال ساده :
#!/usr/bin/python # Import built-in module math import math content = dir(math) print content
ادامه مطلب..