ในที่สุดมาเขียนมัณฑนากรของเราเอง
จำไว้ว่ามัณฑนากรทำหน้าที่ของเราให้มากเกินไป
เป็นเพียงฟังก์ชันที่รวมฟังก์ชันอื่นและเพิ่มประสิทธิภาพหรือเปลี่ยนแปลง
แต่วิธีที่ดีที่สุดสำหรับฉันในการอธิบายว่าจริงๆ แล้วโค้ดของเราเองคืออะไร
มาทำกัน
มากำหนด a ของฉัน
มัณฑนากรและมัณฑนากรคนนี้กำลังจะรับหน้าที่ทันที
เราควรรู้ว่านี่เป็นฟังก์ชันการสั่งซื้อที่สูงขึ้นในตอนนี้
ภายในนี้เราจะเรียกฟังก์ชัน
แต่ก่อนที่เราจะทำอย่างนั้น เราจะรวมฟังก์ชันนี้ไว้ในฟังก์ชันอื่นก่อน
เราจะบอกว่ากำหนดฟังก์ชันตัด
นี่จึงเป็นเพียงตัวห่อหุ้มและฟังก์ชันการห่อนี้
จะเป็นฟังก์ชันที่รันฟังค์นี้แบบง่ายๆ
และสุดท้ายเราจะคืนค่าฟังก์ชันการห่อกลับ
และสังเกตที่นี่ว่าฉันไม่ได้เรียกมัน ฉันแค่ส่งคืนเพื่อให้ใครบางคนสามารถใช้งานได้ในภายหลัง
ตกลง.
ทีนี้ สมมุติว่าเรามีฟังก์ชันง่ายๆ
สวัสดี
และฟังก์ชันง่ายๆ นี้ก็พิมพ์ออกมา
สวัสดี
ช่างเป็นฟังก์ชั่นที่ไร้ประโยชน์
ตอนนี้.
ทำไมสิ่งนี้ถึงมีประโยชน์?
เพราะตอนนี้ฉันสามารถใช้เป็นมัณฑนากร python ได้
ทันทีที่เราเขียน A ข้างหน้านี่ จะบอกว่า เฮ้ นี่จะเป็นมัณฑนากรและมัณฑนากร
ตราบใดที่เราปฏิบัติตามไวยากรณ์นี้ในการยอมรับฟังก์ชัน คุณสามารถใช้ฟังก์ชัน wrapper การเรียกใช้ฟังก์ชัน
และการส่งคืนฟังก์ชัน wrapper ได้
ดังนั้นถ้าฉันทำมัณฑนากรของฉันดูว่ามันเป็นสีฟ้าทั้งหมดอย่างไร
ตอนนี้มัณฑนากรนี้สามารถใช้จริงเมื่อกำหนดฟังก์ชันของเรา
ดังนั้นถ้าเราต้องการใช้มัณฑนากรของฉันในฟังก์ชันสวัสดี เราจะใช้มันแบบนี้เพื่อที่ว่าเมื่อฉันโทรหาสวัสดีในโปรแกรมของฉัน
ฉันคลิกเรียกใช้
ฉันเข้าใจ.
สวัสดี?
ตกลง.
ฉันรู้ว่าคุณกำลังคิดอะไรอยู่
คุณคิดว่านี่เป็นการเสียเวลาโดยสิ้นเชิง อังเดร
ทำไมฉันต้องทำอย่างนั้นทั้งหมด?
ฉันทำได้แค่นี้
เพียงแค่กำหนด.
สวัสดี
และนั่นคือมัน
ผมงงไปหมดแล้ว.
นี่คือสิ่งที่
สิ่งที่เราเพิ่งทำกับมัณฑนากร
ไม่ได้เปลี่ยนแปลงอะไรเลย
มันทำงานตรงตามที่คาดไว้
แต่สิ่งที่ทำให้เราทำได้คือตอนนี้เราสามารถเพิ่มฟังก์ชันพิเศษได้แล้ว
จำที่ฉันพูดว่ามัณฑนากรเป็นฟังก์ชันเหมือนกับมัณฑนากรของฉันที่ห่อหุ้มฟังก์ชันอื่นซึ่งเป็นฟังก์ชันที่เราส่งผ่าน
และเสริมความมัน
แล้วเราจะพัฒนาได้อย่างไร?
สวัสดี?
เราสามารถทำอะไรก็ได้ภายในฟังก์ชันที่ห่อหุ้มนี้
ตัวอย่างเช่น ฉันสามารถพูดว่าพิมพ์ แล้วเราจะพิมพ์ดาวที่นี่และอาจพิมพ์
ดาราอีกชุดในนี้เลยเรียกวิ่ง
บูม.
เราเพิ่งเพิ่มพลังของเราอย่างมาก
สวัสดี
การทำงาน.
มันเจ๋งแค่ไหน?
และนี่คือเหตุผลที่นักตกแต่งมีประโยชน์โดยการเพิ่มบรรทัดเดียวนี้
ฉันสามารถเพิ่มฟังก์ชันได้มาก สมมติว่าฉันสร้างฟังก์ชันอื่นที่เรียกว่า
บาย.
และการซื้อครั้งนี้กำลังจะพิมพ์
แล้วเจอกัน.
โดยโทรมาที่นี่และคลิกเรียกใช้
ก็ไม่มีอะไรเปลี่ยนแปลง
แต่ถ้าฉันต้องการเพิ่มพลังให้เป็นพิเศษ เช่นเดียวกับ
สวัสดี
ทั้งหมดที่ฉันต้องทำคือเพียงแค่คัดลอกมัณฑนากรและใช้มันที่นี่เช่นกัน
เพื่อที่ว่าถ้าผมรันมัน
เราจะไปที่นั่น.
เราได้กระตุ้นการซื้อของเราอย่างมาก
นี่คือพลังของมัณฑนากร
เพียงแค่ใช้ไวยากรณ์นี้ ฉันก็สามารถเพิ่มฟังก์ชันพิเศษให้กับฟังก์ชันอื่นๆ ได้
ตอนนี้ฉันรู้แล้วว่าคุณคิดอะไรอยู่
และฉันรู้ว่าฉันยังพูดอย่างนั้นบ่อยๆ
เหมือนอ่านใจได้ แต่
คุณคิดว่านี่เป็นเวทมนตร์มากมาย
ล่าม Python ทำอะไรทั้งหมดนี้ได้อย่างไร
มันดูเหมือน.
มายากลใช่มั้ย?
ใต้ฝากระโปรง.
ทั้งหมดมันไม่
เอาล่ะให้ฉันแสดงให้คุณเห็น
จากสิ่งที่เราได้เรียนรู้มาจนถึงตอนนี้ เกี่ยวกับฟังก์ชัน เนื่องจากพวกเขาเป็นพลเมืองชั้นหนึ่ง
ถูกต้อง.
ทั้งหมดที่เราทำคือสิ่งนี้อย่างแท้จริง
เรากำลังบอกว่าตัวแปร a
เท่ากับ
สวัสดี?
และห่อสวัสดีนี้และเรียกมันด้วยมัณฑนากรของฉัน
ฉันกำลังพูดว่ามัณฑนากรของฉัน
แล้วหลังจากนั้นฉันก็วิ่งแบบนี้
สมมติว่านี่คือสวัสดี
ดีฉันเพียงแค่ดำเนินการมัน
เช่นนั้น
เพื่อที่ว่าถ้าฉันเรียกใช้สิ่งนี้
ทุกอย่างยังคงทำงาน
ทั้งหมดที่ฉันทำคือปิดฟังก์ชันสวัสดี
ด้วยมัณฑนากรของฉันและกำหนดให้กับตัวแปร
ดังนั้นถ้าเราไปทีละขั้นตอน เราจะเห็นว่ามัณฑนากรของฉันได้รับฟังก์ชัน
ในกรณีของเราฟังก์ชันสวัสดี
จากนั้นจะส่งคืนฟังก์ชันที่ห่อหุ้มซึ่งมีคำว่าสวัสดีอยู่ที่นี่
ดังนั้นเราจึงส่งคืนฟังก์ชันการห่อนี้
สวัสดี ตอนนี้เท่ากับฟังก์ชันที่ห่อหุ้มนี้ จากนั้นฟังก์ชันที่ห่อหุ้มนี้จะถูกเรียกและเรียกด้วยอะไร
ก็พิมพ์นี่ แล้วก็รันฟังก์ชันสวัสดี แล้วก็พิมพ์นี่
ก็เหมือนกับการทำอะไรแบบนี้
เราก็แค่เรียกมันอีกครั้ง
ถ้าฉันเรียกใช้สิ่งนี้
มันได้ผล.
มันดูแปลกๆ ใช่ไหม?
แต่ควรมีเหตุผล
เรากำลังเรียกใช้ฟังก์ชันแรก และฟังก์ชันแรกคืนค่าฟังก์ชันอื่น จากนั้นเราเรียกใช้ฟังก์ชันส่งคืนถัดไป
ซึ่งเป็นฟังก์ชันตัด
เหตุผลที่นักตกแต่งมีประโยชน์เพราะแทนที่จะทำเช่นนี้และดูสับสนอย่างตรงไปตรงมา ฉันสามารถเพิ่มที่มัณฑนากรของฉันและเราไม่จำเป็นต้องทำทั้งหมดนี้
สวัสดีของเราจะถูกห่อโดยอัตโนมัติโดยมัณฑนากรของฉัน แต่โดยพื้นฐานแล้วนี่คือสิ่งที่ฉากศิลปะกำลังทำอยู่
ดู?
ไม่มีอะไรวิเศษเกี่ยวกับมัน
ตอนนี้.
นี่เป็นสิ่งที่ดี แต่ฉันพนันได้เลยว่าคุณยังคงสงสัยว่าทำไมมัณฑนากรถึงมีประโยชน์
ดังนั้น เพื่อที่จะสรุปความเข้าใจของเราเกี่ยวกับมัณฑนากร หยุดพักเสียก่อน แล้วพบกันใหม่ในวิดีโอหน้า