20 เมษายน 2560

Published 4/20/2560 by with 0 comment

yield ใน Python คืออะไร ใช้อย่างไร

yield เป็นคำสั่งยอดนิยมในภาษา Python ว่าแต่ yield ใน Python คืออะไร ใช้อย่างไร มาหาคำตอบได้จากบทความ Python นี้กัน


ก่อนที่จะขึ้นคำสั่ง yield กัน ต้องทำความเข้าใจเรื่องฟังก์ชันใน Python กันหน่อย
ปกติแล้ว เมื่อต้องการส่งคืนออกจากฟังก์ชัน เรามักจะใช้คำสั่ง return แล้วตัวแปรต่าง ๆ ที่อยู่ในฟังก์ชันจะหายไป
หากเรามีตัวแปร a ในฟังก์ชัน ok()


เมื่อเรียก

[python]>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined[/python]

พบว่า ตัวแปร a หายไป

ในขณะที่หากเราใช้คำสั่ง yield แทนคำสั่ง return

[python]
def ok():
a=1
yield a
[/python]

แล้วเรียกใช้
>>> for i in ok():
... print(i)
...
1

สรุป คำสั่ง yield เป็นคำสั่งสำหรับสร้าง Generators ของภาษา Python

อ่านเอกสารแบบละเอียด (ภาษาอังกฤษ) ได้ที่ https://jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)