‫มาเรียนรู้เกี่ยวกับวิธีการต่างๆ ที่เราสามารถนำเข้าโมดูลเหล่านี้ได้จริง
‫จนถึงตอนนี้ เราเพิ่งเรียนรู้เกี่ยวกับการนำเข้า แต่บางครั้งสิ่งต่าง ๆ ก็ค่อนข้างจะวุ่นวาย
‫ตัวอย่างเช่น เราสามารถมีแพ็คเกจอื่นภายในแพ็คเกจอื่นได้
‫ตัวอย่างเช่น ถ้าฉันสร้างโฟลเดอร์ใหม่ที่นี่และพูดว่าแพ็คเกจ New Python เราจะเรียกสิ่งนี้ว่าการคลิกซื้อของเพิ่มเติม
‫ตกลง.
‫คุณเห็นว่า?
‫ฉันได้เริ่มต้นแพ็คเกจอื่นภายในแพ็คเกจที่มีไฟล์เป็นของตัวเอง
‫เรามาย้ายสิ่งนี้กันเพื่อทำ refactor move แล้วเราจะย้ายมันเข้าไปข้างในโฟลเดอร์ shopping เพิ่มเติม
‫ดังนั้นฉันจะพูดมากขึ้น
‫ช้อปปิ้ง.
‫ถ้าฉันคลิก och คุณจะเห็นว่าฉันย้ายโมดูลนี้มาที่นี่
‫ดังนั้นฉันจึงมีแพ็คเกจอยู่ภายในแพ็คเกจ
‫และวิธีที่เราจะเข้าถึงสิ่งนี้คือพูดง่ายๆ ว่าแหล่งช้อปปิ้งมีมากขึ้น
‫ตะกร้าช้อปปิ้งดอท
‫และลองทำแบบเดียวกันที่นี่
‫และตอนนี้เมื่อฉันคลิกเรียกใช้
‫คุณจะเห็นว่ามันยังคงใช้งานได้
‫แต่นี่มันชักจะบ้าไปหน่อยแล้ว
‫คุณสามารถจินตนาการได้ในขณะที่เรามีแพ็คเกจมากขึ้นเรื่อยๆ ที่เราต้องทำดอทนี้ ดอทนี้
‫และนี่ค่อยเป็นค่อยไป
‫ยาวเกินไปและน่าเกลียด
‫แล้วเราจะดีขึ้นได้อย่างไร
‫วิธีหนึ่งในการทำสิ่งนี้ในแบบที่สะอาดกว่าคือทำสิ่งนี้แทนที่จะพูดว่านำเข้า
‫เราว่าจากนี้
‫ส่วนหนึ่งฉันต้องการนำเข้าฟังก์ชั่น
‫ฉันกำลังพูดว่า เฮ้ จากชื่อแพ็คเกจ ชื่อแพ็คเกจ โมดูล นำเข้าฟังก์ชั่นใดก็ได้ที่ฉันต้องการ
‫ในกรณีของเรา เราต้องการนำเข้าฟังก์ชันซื้อ
‫คุณจะเห็นว่าฉันสามารถทำได้และในรหัสของฉัน
‫ฉันสามารถเรียกใช้ได้ราวกับว่ามันเป็นส่วนหนึ่งของไฟล์หลักนี้
‫ถ้าฉันเรียกใช้สิ่งนี้
‫คุณจะเห็นว่ามันยังคงใช้งานได้
‫สุดยอด.
‫นั่นจึงสะอาดกว่าแน่นอน
‫และเราสามารถทำได้ด้วยยูทิลิตี้เช่นกัน
‫ฉันสามารถพูดได้จากการนำเข้ายูทิลิตี้และนำเข้าทั้งสองไฟล์หรือสองฟังก์ชั่น
‫นั่นคือการคูณ
‫และถ้าเราต้องการฟังก์ชันอื่น เราสามารถเติมลูกน้ำแล้วบอกว่าหารได้
‫ตอนนี้เราสามารถพิมพ์ Apple ได้แล้ว
‫หรือแบ่งตามแอปเปิลก็ได้
‫สมมุติว่าห้าต่อสอง
‫และเรายังสามารถคูณได้
‫โอ้ และต้องแน่ใจว่าเป็นเครื่องหมายจุลภาคตรงนี้ เพราะมันเป็นฟังก์ชันแบบนี้ ถ้าฉันเรียกใช้ คุณจะเห็นสิ่งนั้น
‫เราจะไปที่นั่น.
‫สิ่งนี้ใช้ได้เช่นกัน
‫นี่เป็นวิธีที่ดีในการล้างโค้ดของคุณ
‫คุณยังสามารถทำสิ่งนี้โดยที่คุณพูดจากชื่อแพ็คเกจ ชื่อแพ็คเกจ
‫แล้วนำเข้าทั้งโมดูล
‫สมมติว่าฉันต้องการนำเข้าโมดูลตะกร้าสินค้า
‫บอกเลยว่านำเข้า
‫ดังนั้นแพ็คเกจดอทแพ็คเกจ
‫หรือคุณสามารถทำแพคเกจเดียวและนำเข้าตะกร้าสินค้าจริงของโมดูล
‫ตอนนี้ฉันจะเข้าถึงมันเหมือนตะกร้าสินค้านี้จุดโดย
‫และสิ่งนี้ก็จะได้ผลเช่นกัน
‫เหตุผลที่คุณอาจต้องการทำเช่นนี้แทนที่จะเป็นสิ่งที่เรามีมาก่อนก็คือบางครั้งคุณอาจได้รับชื่อที่ขัดแย้งกัน
‫ให้ผมแสดง.
‫สมมติว่าฉันมีงานพิมพ์แล้วในที่นี้เราใช้ฟังก์ชัน max ซึ่งทำให้เรามีฟังก์ชันในตัว
‫เราให้ตัววนซ้ำและมันหาค่าสูงสุดสำหรับเรา เพื่อที่ว่าถ้าฉันเรียกใช้ คุณจะเห็นว่าค่าสูงสุดในรายการนี้คือสาม
‫ลองนึกภาพในฟังก์ชันยูทิลิตี้ของเรา เรามี a แทนการหาร หรือเราบวกค่า max ที่บอกว่า
‫กลับมาแล้วโว้ย
‫ถ้าฉันกลับไปที่ค่า pi หลักของฉัน
‫และ.
‫รับ Max เป็นฟังก์ชันของฉันแล้วคลิก Run
‫เข้าใจแล้ว ฉันได้รับอากาศ
‫ฉันได้รับ Max รับอาร์กิวเมนต์ตำแหน่งเป็นศูนย์ แต่ได้รับ แต่อย่างใดอย่างหนึ่งได้รับเพราะตอนนี้ Max ไม่ได้หมายถึงสิ่งที่เราคิดว่าเราหมายถึง
‫อย่างน้อยในไฟล์นี้เราได้นำเข้า Max และดี
‫Max เป็นฟังก์ชันที่แตกต่างไปจากเดิมอย่างสิ้นเชิง ดังนั้นเราจึงสามารถแทนที่ฟังก์ชันที่มีอยู่ได้จริง
‫ดังนั้นโดยการใช้บางอย่างเช่นตะกร้าสินค้านี้ เราต้องแน่ใจว่าเรามีกรณีเดียวเท่านั้นที่เราอาจตั้งชื่อว่า
‫Collision
‫แต่คุณสมบัติทั้งหมดหรือวิธีการทั้งหมดที่ตะกร้าสินค้าเชื่อมต่อกับตะกร้าสินค้า
‫ดังนั้น แทนที่จะมีหลายฟังก์ชันที่สามารถแทนที่ได้ ฉันมีเนมสเปซเดียวเท่านั้น
‫และอีกอย่าง นี่ก็เป็นหนึ่งในเหตุผลที่ฉันไม่แนะนำให้ทำสิ่งนี้
‫คุณสามารถนำเข้าดาวได้จริง
‫และสิ่งนี้บอกว่า เฮ้ จากโมดูลยูทิลิตี้ นำเข้าทุกอย่าง
‫และเมื่อคุณทำอย่างนั้น
‫คุณจะเห็นว่าเราได้รับข้อผิดพลาดอีกครั้งเนื่องจากนำเข้าราคาสูงสุดด้วย
‫และเนื่องจากเราไม่รู้ด้วยซ้ำว่าตอนนี้กำลังนำเข้าอะไร เราจึงมองไม่เห็น
‫เราต้องไปที่ไฟล์เพื่อดู
‫พอเจอ error แบบนี้ เราก็จะเป็น เกิดอะไรขึ้น?
‫ฉันคิดว่าแม็กซ์กำลังทำงานและเป็นเพราะสายนี้
‫ดังนั้นจึงเป็นเรื่องดีเสมอที่จะพูดให้ชัดเจนและพูดในสิ่งที่คุณต้องการนำเข้า
‫แต่ตอนนี้ขอลบ Max ก่อน
‫แต่อย่างที่คุณเห็น โมดูลมีความสำคัญในรูปแบบต่างๆ
‫คำแนะนำของฉันคือต้องชัดเจนเสมอและพูดในสิ่งที่คุณต้องการนำเข้า
‫และรูปแบบมักจะตามมาโดยใช้คำสั่งนำเข้าตามด้วยโมดูลแพ็คเกจหรือนำเข้าโมดูล
‫หรือคุณสามารถทำคำสั่ง from เพื่อให้เป็น package, sub, package และ module ได้ตามต้องการ หรือคุณสามารถทำโมดูลแล้วพูดว่า
‫import และฟังก์ชันเฉพาะหรือโมดูลจริงเอง
‫ทำได้หลายวิธีขึ้นอยู่กับความต้องการของคุณ
‫ประเด็นสำคัญที่นี่คือโมดูลและแพ็คเกจช่วยให้เรามีแนวปฏิบัติด้านวิศวกรรมที่ดี และสร้างโครงการขนาดใหญ่ในรูปแบบที่เป็นระเบียบ
‫แต่ยังคงมีไฟล์เหล่านี้ทั้งหมด
‫คุยกันครับ.
‫ไม่เป็นไร.
‫นั่นเป็นจำนวนมาก
‫มาเรียนรู้เพิ่มเติมในวิดีโอหน้ากัน