เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor ในบท Python Modules
โมดูลคืออะไร
- โมดูลนั้นก็เหมือนกับไลบรารีโค้ด
- ไฟล์ที่มีชุดฟังก์ชั่นที่นักเรียนต้องการรวมไว้ในแอปพลิเคชันของนักเรียนเอง
การสร้างโมดูล
ในการสร้างโมดูลเพียงบันทึกโค้ดที่นักเรียนต้องการใส่ในไฟล์ ด้วยนามสกุลไฟล์. py
def greeting(name): |
การเรียกใช้โมดูลใน python console
ตอนนี้เราสามารถใช้โมดูลที่เราเพิ่งสร้างโดยใช้คำสั่ง import
ตัวอย่าง
นำเข้าโมดูลชื่อ mymodule และเรียกใช้ฟังก์ชันgreeting
import mymodule |
ผลลัพธ์
C:\Users\My Name>python demo_module1.py |
หมายเหตุ: เมื่อใช้ฟังก์ชันจากโมดูลให้ใช้ไวยากรณ์: module_name.function_name
ตัวแปรในโมดูล
โมดูลสามารถมีฟังก์ชั่นตามที่อธิบายก่อนหน้านี้ แต่ยังรวมถึงตัวแปรทุกประเภท (Array,Dictionary,Objects ฯลฯ )
ตัวอย่าง
บันทึกโค้ดนี้ในไฟล์ mymodule.py
import mymodule |
ผลลัพธ์
C:\Users\My Name>python demo_module2.py |
การตั้งชื่อโมดูล
นักเรียนสามารถตั้งชื่อไฟล์โมดูลได้ตามต้องการ แต่จะต้องมีนามสกุลไฟล์เป็น. py
การตั้งชื่อโมดูลซ้ำ
นักเรียนสามารถสร้างนามแฝงได้ เมื่อนักเรียน import โมดูลโดยใช้ as
สร้างนามแฝงสำหรับ mymodule ชื่อ mx
from mymodule import person1 |
ผลลัพธ์
C:\Users\My Name>python demo_module6.py |
Built-in Modules
มีBuilt-in Modules หลายตัวใน Python ซึ่งนักเรียนสามารถimport ได้ทุกเมื่อที่นักเรียนต้องการ
ตัวอย่าง
import และใช้โมดูล platform()
import platform |
ผลลัพธ์
Windows |
การใช้ฟังก์ชั่น dir ()
มีBuilt-in Modules เพื่อแสดงชื่อฟังก์ชั่นทั้งหมด (หรือชื่อตัวแปร) ในโมดูลใช้ฟังก์ชั่น dir()
ตัวอย่าง
รายการชื่อที่กำหนดทั้งหมดจะเป็นโมดูลใน platform
import platform |
ผลลัพธ์
['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 () สามารถใช้ได้กับโมดูลทั้งหมดรวมถึงโมดูลที่นักเรียนสร้างขึ้นเอง
importจากโมดูล
นักเรียนสามารถเลือกimport เฉพาะบางส่วนจากโมดูลโดยใช้คำสั่ง form()
ตัวอย่าง
โมดูลที่ชื่อ mymodule มีหนึ่งฟังก์ชันและหนึ่งดิกชินนารี
def greeting(name): |
ตัวอย่าง
importเฉพาะดิกชินนารี person1 จากโมดูล
def greeting(name): |
ผลลัพธ์
C:\Users\My Name>python demo_module6.py |
หมายเหตุ: เมื่อimport โดยใช้คำสั่ง form() อย่าใช้ชื่อmodule เมื่ออ้างถึงองค์ประกอบในโมดูล ตัวอย่าง: person1 ["age"] ไม่ใช่ mymodule.person1 ["อายุ"]
ในบทความนี้ จะพูดถึง Module และวิธีการใช้งานในคำสั่งต่างๆเบื้องต้น ใครที่อยากได้ข้อมูลเกี่ยวกับ Module มากขึ้นกว่านี้ ก็ไปศึกษาต่อกันได้เองเลยนะครับ ไว้พบกันในบทหน้า สวัสดีครับ
แปลจาก https://www.w3schools.com/python/python_modules.asp
Tag ที่น่าสนใจ: python modules programming functions variables import built-in_modules greeting directory creating_modules
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM