โอ้ ฉันไม่เห็นคุณ
แต่ฉันรู้ว่าคุณรู้สึกอย่างไร
คุณกำลังสงสัยฉันตอนนี้
คุณกำลังคิดว่าเครื่องปั่นไฟไร้ประโยชน์
คุณเอาแต่พูดว่ามันเร็วและมีประสิทธิภาพ แต่ฉันไม่เข้าใจจริงๆ
คีย์เวิร์ด L นี้และคีย์เวิร์ดนี้ถัดไป
และตรงไปตรงมาก็แค่
มันไม่สมเหตุสมผลเลย
ให้ฉันโน้มน้าวคุณถึงพลังที่แท้จริงของพวกเขา
ฉันจะเลือกสิ่งเหล่านี้ทั้งหมดแล้วลบทิ้ง เพราะฉันต้องการกลับไปที่ตัวอย่างที่เราเคยใช้มาก่อน
จำได้ไหมว่าเมื่อเราสร้างผลงานมัณฑนากร?
ในส่วนการตกแต่งของเรา
ใช้มัณฑนากรประสิทธิภาพนี้
มาย่อให้เล็กสุด
ฉันต้อง.
ฟังก์ชันสำหรับเราเป็นฟังก์ชันระยะยาวที่ใช้ช่วง
และอีกฟังก์ชันที่ใช้งานได้ยาวนานซึ่งใช้ช่วงแล้วแปลงเป็นรายการ
ดังนั้น จำไว้ว่า มีคนสร้างรายการ
จากนั้นจากรายการที่สร้างขึ้นในหน่วยความจำบนคอมพิวเตอร์ของเรา มันจะไปทีละตัวและคูณด้วยห้าเมื่อเทียบกับช่วง
ซึ่งเป็นตัวสร้างที่มาพร้อมกับ Python ที่จะเหลือศูนย์และหน่วยความจำทีละตัว และคูณด้วยห้า,
ถือหนึ่งหน่วยความจำ, แต่คูณด้วยห้าและดำเนินต่อไป, ทำต่อไป, ทำต่อไป และลบตัวเลขเก่า ๆ ออกจากหน่วยความจำ
คิดว่าผลงานของทั้งสองเรื่องนี้จะเป็นอย่างไร?
มาทดสอบกัน
และอีกอย่าง ฉันจะเชื่อมโยงไปยังแบบฝึกหัดนี้ เพื่อให้คุณได้ทดสอบด้วยตัวเองและลองเล่นดู
เลยทำกันยาวๆ
แล้วก็นานไป.
วางเดิมพันของคุณ
เตรียมพร้อม.
ลองหา
ฟังก์ชั่นแรกใช้เวลานาน 1 6 วินาที
จากนั้นฟังก์ชันที่สองก็ใช้เวลานานขึ้นเกือบสองเท่า
นั่นเป็นความแตกต่างที่ค่อนข้างใหญ่ใช่ไหม?
แต่เราสามารถบอกได้ทันที
ไม่เป็นไร.
สิ่งนี้มีประสิทธิภาพมากกว่าเวลานานอย่างแน่นอน
ลองเรียกใช้อีกครั้งเพื่อทดสอบสมมติฐานของเรา
ตรวจสอบให้แน่ใจว่าถูกต้อง
คราวนี้เอาที่ 1 8 แล้วก็ 2 6.
ไม่เป็นไร.
สิ่งนี้เร็วกว่ามากแม้ว่าทั้งคู่จะทำสิ่งเดียวกัน
และคิดเรื่องนี้
หากคุณเป็น Google ลองคิดดูว่า Google มีข้อมูลมากแค่ไหน
หากคุณกำลังทำงานที่ Google และลองนึกภาพว่ามันจะยิ่งใหญ่กว่านี้ไหม ถ้านานกว่านี้
ถ้าคุณสามารถทำงานที่เร็วกว่านั้นได้
ใช้ทรัพยากรน้อยกว่าที่ Google มีมาก
ฉันหมายความว่า พวกเขาจะรักคุณ เพราะด้วยเครื่องกำเนิดไฟฟ้า เราไม่สามารถเก็บสิ่งต่าง ๆ ไว้ในหน่วยความจำ
ไม่ต้องใช้ทรัพยากรทั้งหมดนั้น และประมวลผลข้อมูลอย่างมีประสิทธิภาพแทน
และมองไปที่นี่
ฉันสามารถแก้ไขฟังก์ชันนี้ได้ภายใน 16 วินาที
ฉันหมายความว่าใช่ นั่นใช้เวลานาน แต่ใช้เวลานานกว่าจะสามารถทำให้กระบวนการนี้หายไปได้
หากนี่คือเซิร์ฟเวอร์ของ Google แสดงว่าเซิร์ฟเวอร์เพิ่งเสียชีวิตและไร้ประโยชน์โดยสิ้นเชิง
ดังนั้นตัวสร้างจึงมีประโยชน์จริงๆ ในการคำนวณชุดข้อมูลขนาดใหญ่ โดยเฉพาะอย่างยิ่งถ้าเราใช้การวนซ้ำแบบยาวซึ่งเราไม่ต้องการเก็บหน่วยความจำนั้นจริงๆ
และเราไม่จำเป็นต้องคำนวณทุกอย่างพร้อมกัน อาจทีละรายการ หนึ่ง.
และห้องสมุดจำนวนมากใน Python ภายใต้ประทุนใช้ตัวสร้างแทนที่จะใช้รายการเพราะมันเร็วกว่ามาก
ดังนั้นอย่าลืมสร้างเครื่องกำเนิดไฟฟ้า
สิ่งที่เราต้องทำคือสร้างฟังก์ชันตัวสร้างที่เราต้องการ
แล้วในนี้ เราก็วนซ้ำค่าบางอย่างได้
บางทีเราให้มันกับช่วงหรือเราสามารถยอมรับเราพารามิเตอร์
และสิ่งที่เราต้องทำก็คือ
ผลผลิต.
ผลลัพธ์นั้น
และทำทุกอย่างที่เราต้องการในบล็อกนี้
แต่ต้องแน่ใจว่าเราหยุดฟังก์ชันชั่วคราวเพื่อให้สามารถใช้งานได้ในภายหลัง
ในฐานะที่เป็นฟังก์ชันตัวสร้าง เราสามารถทำอะไรบางอย่างเช่น for loop และพูด item ในฟังก์ชัน gen และให้พารามิเตอร์บางอย่างแก่มัน