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.


❮ Python kalit so‘zlari ma’lumotnomasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!