คำถามติดแท็ก generator

เครื่องกำเนิดไฟฟ้าเป็นลักษณะทั่วไปของรูทีนย่อยซึ่งส่วนใหญ่ใช้เพื่อลดความซับซ้อนในการเขียนตัววนซ้ำ คำสั่งผลตอบแทนในเครื่องกำเนิดไฟฟ้าไม่ได้ระบุโครูทีนที่จะข้ามไป แต่จะส่งผ่านค่ากลับไปที่รูทีนพาเรนต์

5
ผลตอบแทนหรือผลตอบแทนจากฟังก์ชั่นที่เรียกกำเนิด?
ฉันมีตัวกำเนิดgeneratorและวิธีการอำนวยความสะดวกให้กับมัน - generate_all. def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? ควรgenerate_all returnหรือyield? ฉันต้องการให้ผู้ใช้ทั้งสองวิธีใช้เช่นกัน for x in generate_all() ควรเท่ากับ some_list = get_the_list() for x in generate(some_list)

3
ไพเราะมากที่สุด callable สร้าง True?
ชั้นcollections.defaultdictใช้โรงงานเริ่มต้นที่ใช้ในการสร้างค่าเริ่มต้น หากค่าที่มีอยู่ในdictวัตถุเหมือนจะเริ่มต้นFalseเช่นสามารถสร้าง: d_false = defaultdict(bool) เป็นวิธี pythonic มากที่สุดในการบรรลุเหมือนกันสำหรับค่าเริ่มต้นTrueคืออะไร? ในแง่อื่น ๆ จะมีวัตถุ callable มาตรฐานกลับTrueซึ่งจะใช้ idiomatically เป็นญาติของbool? แน่นอนว่าโรงงานสามารถสร้างเป็นรูปแลมบ์ดาได้: d_true = defaultdict(lambda: True) แต่นี่อาจเป็นการพลิกโฉมพวงมาลัย
11 python  generator 

2
ใน PHP: อะไรคือความแตกต่างระหว่าง "ผลตอบแทน", "ผลผลิต", "ผลผลิตจาก" และการผสมทั้งผลผลิตและผลตอบแทนในฟังก์ชั่นเดียวกัน?
ความแตกต่างระหว่างreturnและyieldดูเหมือนชัดเจนจนกระทั่งฉันพบว่ามีyield fromและความเป็นไปได้ที่จะรวมทั้งreturnและyieldในฟังก์ชั่นเดียวกัน! ความเข้าใจของฉันreturnคือว่าทุกอย่างหลังจากไม่ได้ดำเนินการใช่มั้ย อย่างไรก็ตาม: function generate(): iterable { return [1, 2, 3]; } foreach (generate() as $value) { echo $value; } ผลิต: "123" แต่ต่อไปนี้: function generate(): iterable { return [1, 2, 3]; yield; } foreach (generate() as $value) { echo $value; } ไม่ทำอะไรเลย! นั่นหมายความว่ามีการผลิตผลหรือไม่ นี่เป็นข้อบกพร่องหรือไม่?
10 php  return  generator  yield 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.