Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน Python คืนค่า/ยืนยัน (Return/Yield) ออบเจ็กต์อย่างไร

return ทำให้ฟังก์ชันสิ้นสุดการทำงานและคืนค่าให้ผู้เรียก ฟังก์ชันที่คืนค่าเรียกว่า fruitful functions

ตัวอย่าง return

def sum(a, b):
    return a + b

print(sum(5, 16))  # 21

Generators และ yield

Generators เป็น iterators ที่สร้างค่าแบบ lazy (on-the-fly) ไม่เก็บทั้งหมดในหน่วยความจำ ใช้ได้เพียงครั้งเดียว

mygenerator = (x*x for x in range(4))
for i in mygenerator:
    print(i, end=' ')  # 0 1 4 9

yield ใช้ในฟังก์ชันเพื่อคืนค่า generator

ตัวอย่าง yield

def createGenerator():
    for i in range(4):
        yield i * i

mygenerator = createGenerator()
print(next(mygenerator))  # 0
print(next(mygenerator))  # 1
print(next(mygenerator))  # 4
print(next(mygenerator))  # 9
print(next(mygenerator))  # StopIteration

แต่ละครั้ง next() จะคำนวณค่าถัดไป จนหมดจะโยน StopIteration