ด้วยเครื่องกำเนิดไฟฟ้า คุณสามารถสร้างค่าของลำดับเฉพาะจำนวนมากได้โดยไม่ต้องเก็บไว้ในหน่วยความจำเลย นอกจากนี้ ฟังก์ชัน 'เครื่องกำเนิดไฟฟ้า' ยังสร้างอ็อบเจ็กต์ที่สร้างค่าเมื่อมีการวนซ้ำ ดังนั้น หากคุณต้องการใช้เครื่องมือสร้าง Python บทช่วยสอนนี้เหมาะสำหรับคุณ ที่นี่เราจะอธิบายวิธีการสร้างและใช้งานเครื่องกำเนิดไฟฟ้า Python
วิธีสร้างและใช้ Python Generators
ตัวสร้าง Python ใช้เพื่อทำงานกับลำดับข้อมูลอย่างมีประสิทธิภาพ โดยหลักแล้วเมื่อต้องจัดการกับชุดข้อมูลขนาดใหญ่หรือเกือบไม่มีที่สิ้นสุด ข้อดีของเครื่องกำเนิด Python คือ:
- กระชับ: คุณสามารถกำหนดตัวสร้างได้อย่างง่ายดายในลักษณะที่กระชับซึ่งช่วยเพิ่มความสามารถในการอ่านโค้ด
- หน่วยความจำมีประสิทธิภาพ: โดยจะสร้างค่าเดียวพร้อมกันซึ่งใช้หน่วยความจำน้อยลงและเพิ่มประสิทธิภาพ
- ฟังก์ชั่นในตัว: ใน Python ตัวสร้างจะมีฟังก์ชันที่กำหนดไว้ล่วงหน้า เช่น next(), iter() และยอมให้ทำงานได้ง่ายขึ้น
- คุณลักษณะหยุดชั่วคราวและดำเนินการต่อ: ในขณะที่ทำงานกับอัลกอริธึมที่ซับซ้อน คุณสามารถใช้ฟังก์ชัน 'yield' เพื่อหยุดการทำงานของเครื่องกำเนิดไฟฟ้าชั่วคราวและกลับมาทำงานต่อได้
คุณสามารถสร้างและใช้ตัวสร้างได้หลายวิธีใน Python เราจะแบ่งส่วนนี้เพิ่มเติมเพื่อสาธิตการใช้งานโดยใช้ตัวอย่างที่แตกต่างกัน ก่อนอื่น มาดูไวยากรณ์พื้นฐานกันก่อน:
แน่นอน func_name - - -
ผลผลิต การแสดงออก
“def” กำหนดฟังก์ชัน และใช้ “yield” เพื่อสร้างฟังก์ชัน “generator” อย่างไรก็ตาม อีกวิธีหนึ่งยังช่วยในการสร้างตัวสร้างโดยใช้นิพจน์บรรทัดเดียวเท่านั้น
ฟังก์ชันตัวสร้างเพื่อให้ได้สตริง
มากำหนดฟังก์ชันตัวสร้างเพื่อให้ได้ค่าบางอย่าง:
แน่นอน เครื่องกำเนิดไฟฟ้า - - -
ผลผลิต “นี่คือเครื่องกำเนิดไฟฟ้า”
สำหรับ ค่า ใน เครื่องกำเนิดไฟฟ้า - - -
พิมพ์ - ค่า -
เมื่อเราวนซ้ำโดยใช้ลูป 'for' โปรแกรมจะสร้างค่าที่ระบุซึ่งคุณสามารถพิมพ์ได้โดยใช้ฟังก์ชัน 'print'
ฟังก์ชั่นตัวสร้างเพื่อสร้างตัวนับ
โปรแกรมต่อไปนี้เป็นตัวอย่างสำหรับฟังก์ชันตัวสร้างเพื่อสร้างลำดับตัวเลข:
แน่นอน my_generator - n - -เคาน์เตอร์ - 0
ในขณะที่ เคาน์เตอร์ - ยังไม่มีข้อความ:
ผลผลิต เคาน์เตอร์
เคาน์เตอร์ + - 1
สำหรับ เคาน์เตอร์ ใน my_generator - 10 - -
พิมพ์ - เคาน์เตอร์ -
ตัวอย่างเช่น หากอินพุตเป็น 10 คุณจะได้รับค่าตั้งแต่ 0 ถึง 9 เมื่อคอมไพล์โค้ดนี้
ชุดฟีโบนัชชีโดยใช้ฟังก์ชันตัวสร้าง
ตอนนี้เรามาใช้ซีรี่ส์ Fibonacci ซึ่งเป็นซีรีย์พื้นฐานที่สุดในการเขียนโปรแกรม:
แน่นอน series_fibonacci - ขีด จำกัด - -ฉัน - เจ - 0 - 1
ในขณะที่ ฉัน - ขีดจำกัด:
ผลผลิต ฉัน
ฉัน - เจ - เจ - ฉัน + เจ
ก - series_fibonacci - 6 -
พิมพ์ - ต่อไป - ก - -
พิมพ์ - ต่อไป - ก - -
พิมพ์ - ต่อไป - ก - -
พิมพ์ - ต่อไป - ก - -
พิมพ์ - ต่อไป - ก - -
พิมพ์ - ต่อไป - ก - -
เราจะได้ซีรีย์ดังต่อไปนี้โดยการรันโค้ด:
ขั้นแรก สร้างวัตถุชื่อ 'a' และเรียกใช้ฟังก์ชัน 'generator' โดยมีอินพุตที่ต้องการเป็นอาร์กิวเมนต์
คีย์เวิร์ด next() คือตัววนซ้ำแบบแมนนวล แต่ละครั้งที่เราใช้ next(a) มันจะวนซ้ำค่า 'a' หนึ่งค่า อย่างไรก็ตาม เราสามารถใช้ลูป “for” เพื่อพิมพ์ค่าทั้งหมดของ “a” ได้ในคราวเดียว ดังที่แสดงในตัวอย่างต่อไปนี้:
การใช้ลูป “for” แทนฟังก์ชัน next()
แน่นอน series_fibonacci - ขีด จำกัด - -ฉัน - เจ - 0 - 1
ในขณะที่ ฉัน - ขีดจำกัด:
ผลผลิต ฉัน
ฉัน - เจ - เจ - ฉัน + เจ
ก - series_fibonacci - 6 -
สำหรับ ค่า ใน ก :
พิมพ์ - ค่า -
ผลลัพธ์ของการรันโค้ดจะไม่แตกต่างกันเนื่องจากเป็นอีกวิธีหนึ่งในการเขียนโปรแกรมก่อนหน้า:
Generator Expressions ใน Python คืออะไร?
นิพจน์ตัวสร้าง Python เป็นวิธีหนึ่งในการสร้างฟังก์ชัน 'ตัวสร้าง' อย่างกระชับโดยใช้นิพจน์เชิงเส้น นี่คือไวยากรณ์ง่ายๆ:
- การแสดงออก สำหรับ ตัวแปร ใน ทำซ้ำได้ ถ้า เงื่อนไข -ตัวอย่างเช่น สร้างนิพจน์ตัวสร้างเพื่อคำนวณกำลังสองของเลขคี่ตั้งแต่ 0 ถึง 'n' เมื่อ 'n' เป็นค่าอินพุต
คี่_สแควร์ - - x * x สำหรับ x ใน พิสัย - 10 - ถ้า x % 2 - 0 -สำหรับ ค่า ใน คี่_สแควร์:
พิมพ์ - ค่า -
รหัสก่อนหน้านี้ให้ผลลัพธ์ดังต่อไปนี้:
บทสรุป
นี่เป็นข้อมูลเกี่ยวกับวิธีการต่างๆ ในการสร้างและใช้งานเครื่องกำเนิดไฟฟ้า Python เราได้อธิบายทุกอย่างเกี่ยวกับนิพจน์ตัวสร้าง Python คุณควรใช้นิพจน์เหล่านี้หากคุณพิจารณาใช้ตัวสร้างในโปรเจ็กต์ใดๆ ของคุณ เนื่องจากพวกมันมีประสิทธิภาพมากกว่าในทุกแง่มุมของการเขียนโปรแกรม