การนำเข้าส่วนหนึ่งของโมดูลใน Python
วิธีการที่อธิบายในบทเรียนก่อนหน้านี้
เป็นการนำเข้าเนื้อหาทั้งหมดของโมดูล อย่างไรก็ตาม
อาจมีความจำเป็นต้องใช้เพียง
บางส่วนของโค้ดจากโมดูล เช่น ฟังก์ชัน
เพียงไม่กี่ตัว สำหรับสิ่งนี้จำเป็นต้องเปลี่ยนไวยากรณ์
ของโครงสร้างที่ใช้ในการนำเข้า
ขั้นแรกให้เขียนคีย์เวิร์ด from
ทางด้านขวาของมันระบุชื่อโมดูล
จากนั้นเขียนคำสั่ง import,
ทางด้านขวาของซึ่งระบุฟังก์ชัน
ที่ต้องการ:
from โมดูล import ฟังก์ชันที่ต้องการ
สมมติว่าในโมดูล lib ของเรามี
ฟังก์ชันต่อไปนี้:
def func1():
print(1)
def func2():
print(2)
def func3():
print(3)
ลองนำเข้าเฉพาะ func1 และ
func2:
from lib import func1, func2
โครงสร้างนี้สะดวกตรงที่ เมื่อเรียกใช้ฟังก์ชัน ไม่จำเป็นต้องระบุชื่อ ของโมดูลที่นำเข้า:
func1()
func2()
หลังจากดำเนินการโค้ดเสร็จ ในคอนโซลจะแสดง ผลลัพธ์การทำงานของฟังก์ชันเหล่านี้:
1
2
ลองเรียกใช้ func3:
func3()
หลังจากรันโค้ด ในคอนโซลจะแสดง ข้อผิดพลาด:
NameError: name 'func3' is not defined. Did you mean: 'func1'?
สร้างโมดูล custom_math ซึ่ง
จะมีฟังก์ชันต่อไปนี้:
get_sum สำหรับบวกตัวเลขสองตัว
get_divide สำหรับหารตัวเลขสองตัว
get_cube สำหรับยกกำลังสามของตัวเลข
ให้นำเข้าในไฟล์ทำงานเฉพาะ
ฟังก์ชัน get_divide และ get_cube
ในโมดูล user มีตัวแปร
ต่อไปนี้:
name = 'user1'
email = 'user1@mail.com'
password = 'qwerty'
ให้นำเข้าจากโมดูลนี้เฉพาะชื่อและอีเมล ของผู้ใช้ แสดงผลในคอนโซล