آموزش ماژول(module) در پایتون
ماژول در پایتون چیست؟
ماژول در پایتون، مشابه با یک کتابخانه(library) از کدها است. یعنی یک فایل که حاوی یک مجموعه از تابعهایی است که میخواهیم آنها را در اپلیکیشن خود اضافه کنیم.
ایجاد یک ماژول در پایتون
برای ایجاد یک ماژول در پایتون، فقط کافیست کدهای خود را در یک فایل(متنی مانند Notepad) قرار دهید و آن را با پسوند .py ذخیره(save) کنید.
مثال شماره 1
این کد را در یک فایل به نام mymodule.py ذخیره(save) کنید:
def greeting(name):
print("Hello, " + name)
استفاده از یک ماژول در پایتون
حالا میتوانیم از ماژولی که ایجاد کردهایم، با استفاده از دستور import استفاده کنیم:
مثال شماره 2
در این مثال، ماژولی به نام mymodule را import یا اضافه کرده ایم و تابع greeting را در درون آن فراخوانی کرده ایم:
import mymodule
mymodule.greeting("Jonathan")
نتیجه:
Hello, Jonathan
امتحان کنیدنکته: وقتی که میخواهیم از یک تابع در یک ماژول استفاده کنیم، باید از شیوهی نوشتاری یا سینتکس زیر استفاده کنیم:
module_name.function_name
استفاده از متغیرها در ماژول
ماژولها میتوانند حاوی تابعها باشند؛ که قبلاً در این مورد توضیح داده شد، اما همچنین میتوانند حاوی تمامِ نوعها(یعنی آرایهها، دیکشنریها، آبجکتها و غیره) باشند:
مثال شماره 3
این کد را در فایل mymodule.py ذخیره(save) کنید:
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
مثال شماره 4
ایمپورت(import) کردن ماژولی به نام mymodule و دسترسی به دیکشنری person1:
import mymodule
a = mymodule.person1["age"]
print(a)
نتیجه:
36
امتحان کنیدنام گذاری یک ماژول
ما میتوانیم برای فایلِ ماژول، هر نامی که بخواهیم را انتخاب کنیم اما این فایل باید یک پسوند .py داشته باشد.
تغییر نام یک ماژول در پایتون
ما میتوانیم هنگامی که یک مازول را ایمپورت(import) میکنیم، با استفاده از کلمهیکلیدی as یک نام مستعار (برای آن) ایجاد کنیم:
مثال شماره 5
ایجاد یک نام مستعار برای ماژول mymodule به نام mx :
import mymodule as mx
a = mx.person1["age"]
print(a)
نتیجه:
36
امتحان کنیدماژولهای داخلی(Built-in) پایتون
در زبان برنامه نویسی پایتون، چندین ماژول داخلی وجود دارد، که میتوانیم هروقت که بخواهیم، آنها را ایمپورت کنیم.
مثال شماره 6
ایمپورت کردن و استفاده از ماژول platform:
import platform
x = platform.system()
print(x)
نتیجه:
Windows
به سیستم شما بستگی دارد
امتحان کنیداستفاده از تابع dir() در پایتون
یک تابع داخلی(built-in) در یک ماژول در پایتون وجود دارد که نام تمام تابعها(یا نام متغیرها) را لیست میکند. نام این تابع dir() است.
مثال شماره 7
لیست کردن تمام نامهای تعریفشدهی متعلق به ماژول platform:
import platform
x = dir(platform)
print(x)
نتیجه:
['DEV_NULL', '_UNIXCONFDIR', 'WIN32_CLIENT_RELEASES', 'WIN32_SERVER_RELEASES', '__builtins__', '__cached__', '__copyright__', '__doc__', '__file__', '__loader__', '__name__', '__package __', '__spec__', '__version__', '_default_architecture', '_dist_try_harder', '_follow_symlinks', '_ironpython26_sys_version_parser', '_ironpython_sys_version_parser', '_java_getprop', '_libc_search', '_linux_distribution', '_lsb_release_version', '_mac_ver_xml', '_node', '_norm_version', '_perse_release_file', '_platform', '_platform_cache', '_pypy_sys_version_parser', '_release_filename', '_release_version', '_supported_dists', '_sys_version', '_sys_version_cache', '_sys_version_parser', '_syscmd_file', '_syscmd_uname', '_syscmd_ver', '_uname_cache', '_ver_output', 'architecture', 'collections', 'dist', 'java_ver', 'libc_ver', 'linux_distribution', 'mac_ver', 'machine', 'node', 'os', 'platform', 'popen', 'processor', 'python_branch', 'python_build', 'python_compiler', 'python_implementation', 'python_revision', 'python_version', 'python_version_tuple', 're', 'release', 'subprocess', 'sys', 'system', 'system_aliases', 'uname', 'uname_result', 'version', 'warnings', 'win32_ver']
امتحان کنیدنکته: ما میتوانیم از تابع dir() در تمام ماژولها استفاده کنیم، حتی در ماژولهایی که خودمان ایجاد کردهایم.
ایمپورت کردن با کلمهی کلیدی from در پایتون
ما میتوانیم با استفاده از کلمهیکلیدی from انتخاب کنیم که تنها بخشهای خاصی از یک ماژول ایمپورت(import) شوند.
مثال شماره 8
(در زیر) ماژول mymodule از یک تابع و یک دیکشنری برخوردار است:
def greeting(name):
print("Hello, " + name)
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
مثال شماره 1
در این مثال، از ماژول mymodule ، تنها، دیکشنری person1 ایمپورت خواهد شد:
from mymodule import person1
print(person1["age"])
نتیجه:
36
امتحان کنیدنکته: وقتی که میخواهیم با استفاده از کلمهی کلیدی from کدهایی را ایمپورت کنیم، نباید از نام ماژول، وقتی که به عناصر درون این ماژول رجوع میکنیم، استفاده کنیم. مثلا person1["age"] صحیح است اما mymodule.person1["age"] صحیح نیست.
منبع: www.w3schools.com/python
- بازدید: 29
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.