yield
Python yield kalit so‘zi
❮ Python kalit so‘zlari ma’lumotnomasi
Misol
Funksiyadan uchta qiymat qaytaring:
def myFunc():
yield "Hello"
yield 51
yield "Good Bye"
x = myFunc()
for z in x:
print(z)
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
yield kalit so‘zi funksiyani generator funksiyaga aylantiradi.
Generator funksiya iterator qaytaradi.
Funksiya ichidagi kod u birinchi marta chaqirilganda bajarilmaydi, balki har bir yield uchun bittadan qadamga bo‘linadi va har bir qadam faqat iteratsiya qilinganda bajariladi.
Funksiyaning keyingi bajarilishini to‘xtatadigan return kalit so‘zidan farqli o‘laroq, yield kalit so‘zi shu paytgacha olingan natijani qaytaradi va keyingi qadamga o‘tadi.
Qaytariladigan qiymat qiymatlar ro‘yxati bo‘ladi: har bir yield uchun bitta element.
Ko‘proq misollar
Misol
E’tibor bering: funksiya ichidagi kod funksiyani chaqirganda bajarilmaydi, u faqat qaytarilgan iterator bo‘ylab iteratsiya qilinganda bajariladi:
y = 0
def myFunc():
global y
y = 10
yield "Hello"
y = 20
yield 51
y = 30
yield "Good Bye"
#The function is called:
x = myFunc()
#But y is still 0:
print("At this point, y is still:", y)
#Run the first iteration:
next(x)
#And y becomes 10:
print("Now, y is:", y)
#Run another iteration:
next(x)
#And y becomes 20:
print("Now, y is:", y)
#Run another iteration:
next(x)
#And y becomes 30:
print("Now, y is:", y)
O‘zingiz sinab ko‘ring »
Tegishli sahifalar
Faqat bitta qiymat qaytarish va keyingi bajarilishni to‘xtatish uchun return kalit so‘zidan foydalaning.
Funksiyalar haqida ko‘proq ma’lumotni Python funksiyalari darsligimizda o‘qing.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
