โมดูล Python
โมดูลคืออะไร?
พิจารณาโมดูลให้เหมือนกับไลบรารีโค้ด
ไฟล์ที่มีชุดฟังก์ชันที่คุณต้องการรวมไว้ในแอปพลิเคชันของคุณ
สร้างโมดูล
ในการสร้างโมดูลเพียงแค่บันทึกรหัสที่คุณต้องการในไฟล์ที่มีนามสกุลไฟล์.py
:
ตัวอย่าง
บันทึกรหัสนี้ในไฟล์ชื่อ mymodule.py
def greeting(name):
print("Hello, " + name)
ใช้โมดูล
ตอนนี้ เราสามารถใช้โมดูลที่เราเพิ่งสร้างขึ้น โดยใช้import
คำสั่ง:
ตัวอย่าง
นำเข้าโมดูลชื่อ mymodule และเรียกใช้ฟังก์ชันทักทาย:
import mymodule
mymodule.greeting("Jonathan")
หมายเหตุ:เมื่อใช้ฟังก์ชันจากโมดูล ให้ใช้ไวยากรณ์: module_name.function_name
ตัวแปรในโมดูล
โมดูลสามารถมีฟังก์ชันตามที่อธิบายไว้แล้ว แต่ยังรวมถึงตัวแปรทุกประเภท (อาร์เรย์ พจนานุกรม วัตถุ ฯลฯ):
ตัวอย่าง
บันทึกรหัสนี้ในไฟล์ mymodule.py
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
ตัวอย่าง
นำเข้าโมดูลชื่อ mymodule และเข้าถึงพจนานุกรม person1:
import mymodule
a = mymodule.person1["age"]
print(a)
การตั้งชื่อโมดูล
คุณสามารถตั้งชื่อไฟล์โมดูลได้ตามต้องการ แต่ไฟล์นั้นจะต้องมีนามสกุลไฟล์
.py
การเปลี่ยนชื่อโมดูล
คุณสามารถสร้างนามแฝงเมื่อคุณนำเข้าโมดูล โดยใช้as
คำสำคัญ:
ตัวอย่าง
สร้างนามแฝงสำหรับmymodule
โทรmx
:
import mymodule as mx
a = mx.person1["age"]
print(a)
โมดูลในตัว
มีโมดูลในตัวหลายโมดูลใน Python ซึ่งคุณสามารถนำเข้าได้ทุกเมื่อที่ต้องการ
ตัวอย่าง
นำเข้าและใช้platform
โมดูล:
import platform
x = platform.system()
print(x)
การใช้ฟังก์ชัน dir()
มีฟังก์ชันในตัวเพื่อแสดงรายการชื่อฟังก์ชันทั้งหมด (หรือชื่อตัวแปร) ในโมดูล ฟัง ก์dir()
ชั่น:
ตัวอย่าง
แสดงรายการชื่อที่กำหนดไว้ทั้งหมดที่เป็นของโมดูลแพลตฟอร์ม:
import platform
x = dir(platform)
print(x)
หมายเหตุ:ฟังก์ชัน dir() สามารถใช้ได้กับทุก โมดูล รวมถึงโมดูลที่คุณสร้างขึ้นเองด้วย
นำเข้าจากโมดูล
คุณสามารถเลือกนำเข้าเฉพาะบางส่วนจากโมดูล โดยใช้from
คำสำคัญ
ตัวอย่าง
โมดูลที่ตั้งชื่อmymodule
มีหนึ่งฟังก์ชันและหนึ่งพจนานุกรม:
def greeting(name):
print("Hello, " + name)
person1
= {
"name": "John",
"age": 36,
"country":
"Norway"
}
ตัวอย่าง
นำเข้าเฉพาะพจนานุกรม person1 จากโมดูล:
from mymodule import person1
print (person1["age"])
หมายเหตุ:เมื่อนำเข้าโดยใช้from
คำสำคัญ อย่าใช้ชื่อโมดูลเมื่ออ้างถึงองค์ประกอบในโมดูล ตัวอย่าง: person1["age"]
, not
mymodule.person1["age"]