ช่วงนี้ได้มีโอกาสเขียนโปรแกรมเล็กๆด้วย python จึงได้มีโอกาสรู้จักกับ command yield
yield นั้นคล้ายๆ return โดยจะนำค่าที่ได้จากการคำนวณคืนออกไปในรูปของ object โดยไม่เก็บไว้ใน memory ครับ
อย่างเช่นถ้าเรามี function อยู่ตัวนึง
ถ้าเราเรียก function นี้โดย
for a in yieldTest():
print a
เราก็จะได้ค่า 2 มา จะเห็นว่าการทำงานนั้นจะคล้าย return ในส่วนนี้
แต่ช้าก่อน! มันมีความแตกต่างที่ไม่สามารถมองข้ามได้เลย ตัวอย่างเช่นถ้าเรามีอีก function
def yieldTest2():
for a in range(10):
yield a