ยินดีต้อนรับกลับ.
เพื่อที่จะสรุปความเข้าใจของเราเกี่ยวกับโมดูล เราต้องพูดถึงแนวคิดที่สำคัญซึ่งเป็นแนวคิดหลัก
หรือเฉพาะขีดเส้นใต้หลัก
เพราะเมื่อคุณเริ่มพัฒนาในสายอาชีพ คุณจะเริ่มเห็นโค้ดแบบนี้มากมาย
นี่เป็นหนึ่งในบรรทัดที่พบบ่อยที่สุดที่คุณจะเห็นเมื่อทำงานกับ Python
และในวิดีโอนี้ ฉันจะอธิบายว่ามันทำอะไร
เพราะมันเป็นหนึ่งในหัวข้อที่สับสนมากที่สุดโดยเฉพาะอย่างยิ่งสำหรับผู้เริ่มต้น
ดังนั้นตอนนี้ฉันจะแสดงความคิดเห็นและทำบางสิ่ง
เรามีไฟล์ PI หลักของเราที่นี่
และฉันต้องการทำบางสิ่ง
อย่างแรก ฉันจะเปิดตะกร้าสินค้าของเรา ซึ่งอยู่ตรงนี้
และที่ด้านบนนี้ ฉันจะพิมพ์เพราะตอนนี้ไฟล์ของเราไม่ได้ทำอะไรเลย
ฉันจะบอกว่าพิมพ์ ขีดล่าง ขีดล่างชื่อแบบนี้ และฉันก็จะทำเช่นเดียวกันกับยูทิลิตี้
dot py
ที่ด้านบนสุดคือยูทิลิตี้พาย
ตอนนี้ถ้าฉันเรียกใช้ Main ที่นี่ ให้คลิกที่นี่
ฉันพิมพ์สองสิ่งนี้
เดี๋ยวนะ ทำไมเหรอ?
เมื่อฉันเรียกใช้ไฟล์ python โดยปกติเราจะเรียกใช้ไฟล์เดียวใช่ไหม
ไฟล์หลักที่เรากำลังดำเนินการอยู่
ในกรณีของเรา ไฟล์หลักของเราเพิ่งถูกเรียกว่า main dot py
ดังนั้นเมื่อฉันคลิกเรียกใช้ ล่ามจะไปทีละบรรทัดที่นี่
สิ่งแรกที่ทำคือนำเข้าโมดูลยูทิลิตี้
และนำเข้าทั้งสองไฟล์นี้
ดังนั้นสิ่งที่จะทำคือไปที่ไฟล์ยูทิลิตี้แล้วรันไฟล์นี้และแต่ละไฟล์ที่เรารันหรือแต่ละโมดูลโดยอัตโนมัติ
จะได้รับชื่อเมื่อกรณีของเราเป็นชื่อของโมดูลยูทิลิตี้
ดังนั้นเมื่อคุณนำเข้าบางสิ่งใน Python มันจะพบโมดูล มันรันโค้ด
ดังนั้นมันจึงเพิ่มรหัสนี้ในหน่วยความจำเพราะเราจะต้องใช้การคูณ หารมันสูงสุด แล้วไปต่อในบรรทัดถัดไป
ในกรณีของเรา นี่คือสิ่งที่เรานำเข้าอีกครั้งจากตะกร้าสินค้า
มันจะบอกว่า เฮ้ ชื่อของสิ่งนี้คือ shopping dot more shopping dot shopping cart เพราะนั่นคือชื่อโมดูล
และสุดท้ายมันก็จะผ่านจุดนี้ไปเพราะถึงจุดนี้ทีละบรรทัดสำหรับไฟล์เหล่านี้ได้ถูกเรียกใช้แล้วและตอนนี้ก็อยู่ในหน่วยความจำ
ตอนนี้ล่ามสามารถเข้าถึงการหาร คูณ และฟังก์ชันทั้งหมดที่เรานำเข้ามา
นี่คือคำถามของฉัน
จะเกิดอะไรขึ้นถ้าฉันทำที่นี่หรือตอนท้ายพิมพ์?
ขีดเส้นใต้
ขีดล่างชื่อในไฟล์หลักนี้
ถ้าฉันวิ่งมาที่นี่
คุณเห็นว่า?
ฉันได้รับขีดล่างขีดล่างหลัก
นั่นคือสิ่งที่คุณคาดหวัง?
จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนชื่อไฟล์นี้
สมมุติว่า refactor
และบอกว่าเปลี่ยนชื่อ
ใช่ ไม่เป็นไร
เราต้องการเปลี่ยนชื่อและเราจะเปลี่ยนชื่อเป็น Test Pi
นี่จึงเรียกว่า test pi
คุณคิดว่าชื่อขีดล่างของสิ่งนี้คืออะไร?
ถ้าฉันวิ่งมาที่นี่
ฉันยังคงขีดเส้นใต้ขีดเส้นใต้ฉัน
ดังนั้นตอนนี้อาจเริ่มสมเหตุสมผลเมื่อคุณเห็นรหัส
นี่ถ้าขีดเส้นใต้ชื่อเท่ากับขีดล่าง ขีดล่าง ค่าเฉลี่ย ขีดล่าง
ดังนั้นนี่คือ Dundas
แล้วทำอะไรสักอย่าง
และนี่คือชื่อแผงคอที่กำหนดให้กับไฟล์ที่เราเรียกใช้โดยเฉพาะ
เพราะจำไว้ว่า เมื่อเราเรียกใช้ไฟล์ เมื่อฉันเล่นหรือเมื่อฉันทำในเทอร์มินัล python สาม จากนั้นบอกว่า
test dot py ฉันเรียกใช้ไฟล์นั้นไฟล์เดียวและไฟล์เดียวนำเข้าโมดูลต่างๆ และรันมัน
ไฟล์หนึ่งไฟล์ที่เราเรียกใช้จะได้รับขีดล่างเริ่มต้นนี้
เหตุผลที่คุณอาจเห็นบรรทัดแบบนี้ใน Python ก็คือบางครั้งเราต้องการให้แน่ใจว่าเราเรียกใช้โมดูลเฉพาะในกรณีที่เป็นโมดูลหรือโมดูลหลักเท่านั้น
ดังนั้นฉันสามารถพูดได้ที่นี่ พิมพ์ กรุณาเรียกใช้สิ่งนี้
และขอลบงานพิมพ์นี้ก่อน แล้วคลิกเรียกใช้
คุณเห็นว่าสิ่งนี้ฉันได้รับโปรดเรียกใช้สิ่งนี้
แต่ถ้าฉันคัดลอกรหัสนี้และสมมติว่าใส่ลงในยูทิลิตี้
แบบนี้แล้วฉันคลิกเรียกใช้
คุณเห็นว่า?
กรุณาวิ่ง
สิ่งนี้จะไม่ปรากฏในยูทิลิตี้ในตอนท้ายเมื่อเราทำการทดสอบนี้เท่านั้น
เพราะ.
ทำไม
ชื่อของไฟล์นี้ไม่ใช่ชื่อหลัก
ชื่อจำไว้เป็นประโยชน์
นี่เป็นวิธีที่ดีสำหรับเราในการรันโค้ดของไฟล์หลักเท่านั้น
นี่เป็นโครงสร้างทั่วไปเมื่อโครงการใหญ่ขึ้นเรื่อยๆ
บางทีเรามีรหัสที่เราไม่ต้องการเรียกใช้เว้นแต่จะเป็นไฟล์หลัก
ในกรณีของเรา สมมติว่าเราไม่ต้องการเรียกใช้สิ่งเหล่านี้
เว้นแต่จะเป็นไฟล์หลักที่ถูกเรียก
ถ้าฉันเรียกใช้ตอนนี้
คุณเห็นว่า?
โอ้ และฉันได้รับข้อผิดพลาด
มันบอกว่าบรรทัดหนึ่งในโมดูลไม่สามารถนำเข้าการคูณชื่อจากยูทิลิตี้เพราะเราไม่สามารถนำเข้าสิ่งนี้ได้เพราะเราไม่ได้เรียกใช้โค้ดชิ้นนี้
ลองย้อนกลับไปดู
กลับมาที่นี้.
และสิ่งที่เราทำได้ตอนนี้คือห่อสิ่งนี้ทั้งหมด
แบบนี้.
เพื่อให้แน่ใจว่าการทดสอบจะทำงานได้ก็ต่อเมื่อดีเท่านั้น เฉพาะในกรณีที่เป็นการทดสอบเท่านั้น
ไม่ควรนำเข้า
มันควรจะเป็นไฟล์หลักที่เราเรียกใช้
ทีนี้ จำไว้ว่าเมื่อเรามีชั้นเรียน สมมติว่าเรามีไฟล์หลัก และเราได้สร้างชั้นเรียน สมมติว่านักเรียน
และนักเรียนคนนี้สมมุติว่าไม่มีอะไรแต่เมื่อเราทำพิมพ์
นักเรียน.
และเราพิมพ์ที่นี่
และฉันคลิกเรียกใช้
โอ้ ขอยกตัวอย่างนักเรียน
สมมุติว่านักเรียนคนหนึ่งเท่ากับนักเรียน
แล้วมาดูประเภทของนักเรียนกัน
ถ้าฉันคลิกเรียกใช้
คุณจำได้ไหมว่าเรามีขีดล่างขีดเส้นใต้นักเรียนจุดหลักหรือไม่?
สิ่งที่พูดคือคลาสนี้ถูกสร้างขึ้น
ในไฟล์หลักที่เรารัน
ตัวอย่างเช่น หากฉันคัดลอกสิ่งนี้ เพิ่มลงในยูทิลิตี้เช่นนี้
และตอนนี้ในไฟล์หลักของฉัน
ฉันนำเข้ายูทิลิตี้
สมมติว่ายูทิลิตี้ดอท sd หนึ่งแล้วทำ
แล้วพิมพ์.
แล้วจะเกิดอะไรขึ้น?
เราก็ได้ class ยูทิลิตี้ dot student
ดังนั้นเมื่อใดก็ตามที่เราเห็น main นั้น สิ่งที่มันพูดก็คือ เฮ้ นี่คือคลาสที่สร้างขึ้นในไฟล์หลัก
อีกครั้ง นี่เป็นหนึ่งในสิ่งที่คุณจะได้เห็นมากมาย
แต่สุดท้ายแล้ว ความหมายก็คือ ฉันต้องการตรวจสอบให้แน่ใจว่าไฟล์นี้เป็นไฟล์ที่กำลังรันอยู่
เนื่องจากไฟล์สามารถเรียกใช้หรือนำเข้าได้
หากเป็นไฟล์ที่เรียกใช้ แสดงว่าเป็นไฟล์หลัก
แล้วทำอะไรสักอย่าง
ดังนั้นจึงเป็นวิธีที่ดีในการตรวจสอบวิธีการใช้โมดูลของเรา ไม่ว่าจะนำเข้าหรือรัน
หวังว่านั่นจะสมเหตุสมผล
ในวิดีโอหน้า เราจะพูดถึงสิ่งที่น่าตื่นเต้นที่เรียกว่าโมดูลในตัว
เจอกันในนั้นครับ
ลาก่อน.