به آموزشگاه مجازی سینا خوش آمدید!

آموزش ماژول(module) در پایتون

امتیاز
(0)

ماژول در پایتون چیست؟

ماژول در پایتون، مشابه با یک کتابخانه(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. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال