20 เมษายน 2560

Published เมษายน 20, 2560 by with 0 comment

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

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


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

เมื่อเรียก

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

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

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

def ok():
  a=1
  yield a

แล้วเรียกใช้
>>> 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 ความคิดเห็น:

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

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