Ключевое слово Python Yield: Руководство

–ö–∞–∫ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ Python Yield

–ì–µ–Ω–µ—Ä–∞—Ç–æ—Ä—ã - –Ω–µ —Å–∞–º–∞—è –∏–Ω—Ç—É–∏—Ç–∏–≤–Ω–æ –ø–æ–Ω—è—Ç–Ω–∞—è –∫–æ–Ω—Ü–µ–ø—Ü–∏—è –≤ Python . –ß—Ç–æ –µ—â–µ —Ö—É–∂–µ, –æ–Ω–∏ –∏—Å–ø–æ–ª—å–∑—É—é—Ç —Å–ø–µ—Ü–∏–∞–ª—å–Ω–æ–µ –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ –ø–æ–¥ –Ω–∞–∑–≤–∞–Ω–∏–µ–º " yield, " —Ö–æ—Ç—è –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä—ã —Å–∞–º–∏ –ø–æ —Å–µ–±–µ —è–≤–ª—è—é—Ç—Å—è —Ñ—É–Ω–∫—Ü–∏—è–º–∏. –ß—Ç–æ —Ç–∞–∫–æ–µ –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ yield? –ö–∞–∫ —ç—Ç–æ —Å–æ–æ—Ç–Ω–æ—Å–∏—Ç—Å—è —Å –æ–ø–µ—Ä–∞—Ç–æ—Ä–æ–º return?

–•–æ—Ä–æ—à–∏–µ –≤–æ–ø—Ä–æ—Å—ã. –í —ç—Ç–æ–º —Ä—É–∫–æ–≤–æ–¥—Å—Ç–≤–µ –º—ã –ø–æ–≥–æ–≤–æ—Ä–∏–º –æ —Ç–æ–º, —á—Ç–æ —Ç–∞–∫–æ–µ –æ–ø–µ—Ä–∞—Ç–æ—Ä yield –∏ –∫–∞–∫ –≤—ã –º–æ–∂–µ—Ç–µ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –µ–≥–æ –≤ —Å–≤–æ–µ–º –∫–æ–¥–µ. –ú—ã —Ä–∞—Å—Å–º–æ—Ç—Ä–∏–º –ø—Ä–∏–º–µ—Ä –∏—Å–ø–æ–ª—å–∑–æ–≤–∞–Ω–∏—è –∫–ª—é—á–µ–≤–æ–≥–æ —Å–ª–æ–≤–∞ yield. –ü—Ä–∏—Å—Ç—É–ø–∏–º!

–ú—ã —Ä–µ–∫–æ–º–µ–Ω–¥—É–µ–º –ø—Ä–æ—á–∏—Ç–∞—Ç—å –Ω–∞—à–∏ —Å—Ç–∞—Ç—å–∏ –æ–± –∏—Ç–µ—Ä–∞—Ç–æ—Ä–∞—Ö Python –∏ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä—ã , –ø—Ä–µ–∂–¥–µ —á–µ–º –ø—Ä–æ–¥–æ–ª–∂–∏—Ç—å. –≠—Ç–æ –¥–∞–µ—Ç –≤–∞–º –Ω–µ–∫–æ—Ç–æ—Ä—ã–π –ø–æ–ª–µ–∑–Ω—ã–π –∫–æ–Ω—Ç–µ–∫—Å—Ç, –∫–æ—Ç–æ—Ä—ã–π –≤—ã –º–æ–∂–µ—Ç–µ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –¥–ª—è –±–æ–ª–µ–µ –≥–ª—É–±–æ–∫–æ–≥–æ –ø–æ–Ω–∏–º–∞–Ω–∏—è –∫–ª—é—á–µ–≤–æ–≥–æ —Å–ª–æ–≤–∞ yield.

–ù–∞–∑–∞–¥ –∫ –æ—Å–Ω–æ–≤–∞–º: –∏—Ç–µ—Ä–∞—Ç–æ—Ä—ã –∏ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä—ã

–°–ø–∏—Å–∫–∏ –æ–ø–∏—Å—ã–≤–∞—é—Ç—Å—è –∫–∞–∫ –ø–æ–≤—Ç–æ—Ä—è–µ–º—ã–µ –æ–±—ä–µ–∫—Ç—ã. –≠—Ç–æ –ø–æ—Ç–æ–º—É, —á—Ç–æ –≤—ã –º–æ–∂–µ—Ç–µ –ø—Ä–æ—Å–º–∞—Ç—Ä–∏–≤–∞—Ç—å –∏—Ö —Å–æ–¥–µ—Ä–∂–∏–º–æ–µ, –∏—Å–ø–æ–ª—å–∑—É—è " for " –ø–µ—Ç–ª—è. –ö–∞–∂–¥—ã–π —Ä–∞–∑, –∫–æ–≥–¥–∞ —Ü–∏–∫–ª –≤—ã–ø–æ–ª–Ω—è–µ—Ç—Å—è, Python –æ–±—Ä–∞—â–∞–µ—Ç—Å—è –∫ —ç–ª–µ–º–µ–Ω—Ç—É –≤ —Å–ø–∏—Å–∫–µ. –°–ª–æ–≤–∞—Ä–∏, –∫–æ—Ä—Ç–µ–∂–∏ –∏ —Å—Ç—Ä–æ–∫–∏ —Ç–∞–∫–∂–µ —è–≤–ª—è—é—Ç—Å—è –∏—Ç–µ—Ä–∞—Ç–∏–≤–Ω—ã–º–∏ –æ–±—ä–µ–∫—Ç–∞–º–∏.

–§—É–Ω–∫—Ü–∏—è, –∫–æ—Ç–æ—Ä–∞—è –æ–±—Ä–∞—â–∞–µ—Ç—Å—è –∫ —ç–ª–µ–º–µ–Ω—Ç—É –∏–∑ –ø–æ–≤—Ç–æ—Ä—è–µ–º–æ–≥–æ –æ–±—ä–µ–∫—Ç–∞, –Ω–∞–∑—ã–≤–∞–µ—Ç—Å—è –∏—Ç–µ—Ä–∞—Ç–æ—Ä–æ–º . –î–∞–≤–∞–π—Ç–µ —Å–æ–∑–¥–∞–¥–∏–º —Å–ø–∏—Å–æ–∫ –∏ –ø–µ—Ä–µ–±–µ—Ä–µ–º –µ–≥–æ, –∏—Å–ø–æ–ª—å–∑—É—è —Ü–∏–∫–ª for :

–≠—Ç–æ—Ç –∫–æ–¥ —Ä–∞—Å–ø–µ—á–∞—Ç—ã–≤–∞–µ—Ç –≤—Å–µ –ø–µ—Ä—Ü—ã –≤ " peppers " list –Ω–∞ –∫–æ–Ω—Å–æ–ª—å:

–ú—ã –∏—Å–ø–æ–ª—å–∑—É–µ–º –Ω–∞—à –∏—Ç–µ—Ä–∞—Ç–æ—Ä —Å—Ç–æ–ª—å–∫–æ —Ä–∞–∑, —Å–∫–æ–ª—å–∫–æ –∑–∞—Ö–æ—Ç–∏–º. –í –ø–æ—Å–ª–µ–¥–Ω–µ–º –ø—Ä–∏–º–µ—Ä–µ –º—ã –ø–µ—Ä–µ–±–∏—Ä–∞–ª–∏ " peppers " –æ–±—ä–µ–∫—Ç –¥–≤–∞–∂–¥—ã.

–ì–µ–Ω–µ—Ä–∞—Ç–æ—Ä—ã Python –ø–æ—Ö–æ–∂–∏ –Ω–∞ –∏—Ç–µ—Ä–∞—Ç–æ—Ä, –∏—Å–ø–æ–ª—å–∑—É–µ–º—ã–π –¥–ª—è –ø–æ–≤—Ç–æ—Ä–µ–Ω–∏—è –æ–±—ä–µ–∫—Ç–∞. –ï—Å—Ç—å –æ–¥–Ω–æ –±–æ–ª—å—à–æ–µ —Ä–∞–∑–ª–∏—á–∏–µ: –≤—ã –º–æ–∂–µ—Ç–µ –ø–µ—Ä–µ–±–∏—Ä–∞—Ç—å –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä —Ç–æ–ª—å–∫–æ –æ–¥–∏–Ω —Ä–∞–∑. –ü—Ä–∏–Ω–∏–º–∞—è –≤–æ –≤–Ω–∏–º–∞–Ω–∏–µ, —á—Ç–æ –º—ã –º–æ–∂–µ–º –ø–µ—Ä–µ–±–∏—Ä–∞—Ç—å " peppers " —Å—Ç–æ–ª—å–∫–æ —Ä–∞–∑, —Å–∫–æ–ª—å–∫–æ –º—ã —Ö–æ—Ç–∏–º, –∫ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä—É –æ–±—Ä–∞—â–∞—é—Ç—Å—è —Ç–æ–ª—å–∫–æ –æ–¥–∏–Ω —Ä–∞–∑.

81% —É—á–∞—Å—Ç–Ω–∏–∫–æ–≤ –∑–∞—è–≤–∏–ª–∏, —á—Ç–æ –æ–Ω–∏ –ø–æ—á—É–≤—Å—Ç–≤–æ–≤–∞–ª–∏ —Å–µ–±—è –±–æ–ª–µ–µ —É–≤–µ—Ä–µ–Ω–Ω—ã–º–∏ –≤ —Å–≤–æ–∏—Ö –ø–µ—Ä—Å–ø–µ–∫—Ç–∏–≤–∞—Ö —Ç—Ä—É–¥–æ—É—Å—Ç—Ä–æ–π—Å—Ç–≤–∞ –≤ —Å—Ñ–µ—Ä–µ –≤—ã—Å–æ–∫–∏—Ö —Ç–µ—Ö–Ω–æ–ª–æ–≥–∏–π –ø–æ—Å–ª–µ –ø–æ—Å–µ—â–µ–Ω–∏—è —É—á–µ–±–Ω–æ–≥–æ –∫—É—Ä—Å–∞. –ü—Ä–æ–π–¥–∏—Ç–µ –∫—É—Ä—Å –æ–±—É—á–µ–Ω–∏—è —Å–µ–≥–æ–¥–Ω—è.

–°—Ä–µ–¥–Ω–∏–π –≤—ã–ø—É—Å–∫–Ω–∏–∫ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –ø–æ—Ç—Ä–∞—Ç–∏–ª –º–µ–Ω–µ–µ —à–µ—Å—Ç–∏ –º–µ—Å—è—Ü–µ–≤ –Ω–∞ –ø–µ—Ä–µ—Ö–æ–¥–Ω—É—é –∫–∞—Ä—å–µ—Ä—É, –æ—Ç –Ω–∞—á–∞–ª–∞ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –¥–æ –ø–æ–∏—Å–∫–∞ —Å–≤–æ–µ–π –ø–µ—Ä–≤–æ–π —Ä–∞–±–æ—Ç—ã.

–î–∞–≤–∞–π—Ç–µ –æ–ø—Ä–µ–¥–µ–ª–∏–º –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä –¥–ª—è –Ω–∞—à–µ–≥–æ —Å–ø–∏—Å–∫–∞ –ø–µ—Ä—Ü–µ–≤:

–ú—ã –æ–ø—Ä–µ–¥–µ–ª—è–µ–º —Ñ—É–Ω–∫—Ü–∏—é —Å –∏–º–µ–Ω–µ–º print_peppers ( ). –≠—Ç–æ –Ω–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–∞. –û–Ω –ø—Ä–∏–Ω–∏–º–∞–µ—Ç –æ–¥–∏–Ω –∞—Ä–≥—É–º–µ–Ω—Ç: —Å–ø–∏—Å–æ–∫ –ø–µ—Ä—Ü–µ–≤, –∫–æ—Ç–æ—Ä—ã–µ –º—ã —Ö–æ—Ç–∏–º –≤—ã–≤–µ—Å—Ç–∏ –Ω–∞ –∫–æ–Ω—Å–æ–ª—å.

–í –Ω–∞—à–µ–π –æ—Å–Ω–æ–≤–Ω–æ–π –ø—Ä–æ–≥—Ä–∞–º–º–µ –º—ã –≤—ã–∑—ã–≤–∞–µ–º —Ñ—É–Ω–∫—Ü–∏—é print_peppers () –∏ –Ω–∞–∑–Ω–∞—á–∞–µ–º –µ–π –≤ –ø–µ—Ä–µ–º–µ–Ω–Ω—É—é pepper_generator. –ó–∞—Ç–µ–º –º—ã –ø–µ—Ä–µ–±–∏—Ä–∞–µ–º –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä, –∏—Å–ø–æ–ª—å–∑—É—è " for " –ø–µ—Ç–ª—è. –ù–∞—à —Ü–∏–∫–ª for –≤—ã–∑—ã–≤–∞–µ—Ç –æ–±—ä–µ–∫—Ç-–≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä –∏ –≤—ã–ø–æ–ª–Ω—è–µ—Ç –∏—Ç–µ—Ä–∞—Ü–∏—é –ø–æ –Ω–µ–º—É.

–î–∞–≤–∞–π—Ç–µ –∑–∞–ø—É—Å—Ç–∏–º –Ω–∞—à –∫–æ–¥:

–†–µ–∑—É–ª—å—Ç–∞—Ç —Ç–∞–∫–æ–π –∂–µ, –∫–∞–∫ –∏ –≤ –Ω–∞—à–µ–º –ø–µ—Ä–≤–æ–º –ø—Ä–∏–º–µ—Ä–µ. –†–∞–∑–Ω–∏—Ü–∞ –≤ —Ç–æ–º, —á—Ç–æ –º—ã –º–æ–∂–µ–º –ø–µ—Ä–µ–±–∏—Ä–∞—Ç—å –Ω–∞—à —Å–ø–∏—Å–æ–∫ —Ç–æ–ª—å–∫–æ –æ–¥–∏–Ω —Ä–∞–∑. –î–∞–≤–∞–π—Ç–µ –ø–æ–ø—Ä–æ–±—É–µ–º –ø–æ–≤—Ç–æ—Ä–∏—Ç—å –∏—Ç–µ—Ä–∞—Ü–∏—é –ø–æ –Ω–∞—à–µ–º—É –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä—É –µ—â–µ —Ä–∞–∑:

–ù–∞—à –∫–æ–¥ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç:

–ú—ã –æ–¥–Ω–∞–∂–¥—ã –ø—Ä–æ–≤–µ–ª–∏ –∏—Ç–µ—Ä–∞—Ü–∏—é –Ω–∞–¥ –Ω–∞—à–∏–º –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–æ–º. –ú—ã –Ω–µ –º–æ–∂–µ–º —Å–¥–µ–ª–∞—Ç—å —ç—Ç–æ —Å–Ω–æ–≤–∞. –í–æ—Ç –ø–æ—á–µ–º—É –Ω–∞—à –≤—Ç–æ—Ä–æ–π —Ü–∏–∫–ª for –Ω–µ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç –Ω–∏–∫–∞–∫–∏—Ö –∑–Ω–∞—á–µ–Ω–∏–π.

–û–±—Ä–∞—Ç–∏—Ç–µ –≤–Ω–∏–º–∞–Ω–∏–µ –Ω–∞ —Å–ª–æ–≤–æ " yield " –≤ –ø–æ—Å–ª–µ–¥–Ω–µ–º –ø—Ä–∏–º–µ—Ä–µ. –ù–∞–ø–æ–º–∏–Ω–∞–Ω–∏–µ:

" yield " –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ –ø–æ—è–≤–ª—è–µ—Ç—Å—è –≤–Ω—É—Ç—Ä–∏ –Ω–∞—à–µ–π —Ñ—É–Ω–∫—Ü–∏–∏. –û–Ω –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ –≤ —Ñ—É–Ω–∫—Ü–∏–∏ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–∞. –≠—Ç–æ –ø–æ—Ö–æ–∂–µ –Ω–∞ " return " –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ .

–ò—Å–ø–æ–ª—å–∑—É–π—Ç–µ yield, –µ—Å–ª–∏ —Ö–æ—Ç–∏—Ç–µ —Å–æ–∑–¥–∞—Ç—å –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä, –ø–æ –∫–æ—Ç–æ—Ä–æ–º—É –º–æ–∂–Ω–æ –≤—ã–ø–æ–ª–Ω—è—Ç—å –∏—Ç–µ—Ä–∞—Ü–∏—é. –í –Ω–∞—à–µ–º –ø–æ—Å–ª–µ–¥–Ω–µ–º –ø—Ä–∏–º–µ—Ä–µ –º—ã –∏—Å–ø–æ–ª—å–∑—É–µ–º yield –¥–ª—è —Å–æ–∑–¥–∞–Ω–∏—è –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–∞ –¥–ª—è –Ω–∞—à–µ–≥–æ —Å–ø–∏—Å–∫–∞ –ø–µ—Ä—Ü–µ–≤.

–õ—é–±–∞—è —Ñ—É–Ω–∫—Ü–∏—è, —Å–æ–¥–µ—Ä–∂–∞—â–∞—è yield, –≤–µ—Ä–Ω–µ—Ç –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä. –ú—ã –≤–∏–¥–∏–º —ç—Ç–æ, –ø—Ä–æ–≤–µ—Ä—è—è —Ç–∏–ø –ø–µ—Ä–µ–º–µ–Ω–Ω–æ–π pepper_generator —Å –ø–æ–º–æ—â—å—é –º–µ—Ç–æ–¥–∞ type ():

–≠—Ç–æ –≥–æ–≤–æ—Ä–∏—Ç –Ω–∞–º, —á—Ç–æ pepper_generator, –∫–æ—Ç–æ—Ä–æ–º—É –Ω–∞–∑–Ω–∞—á–µ–Ω–∞ —Ñ—É–Ω–∫—Ü–∏—è print_peppers, —è–≤–ª—è–µ—Ç—Å—è –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–æ–º.

–ó–∞–∫–ª—é—á–µ–Ω–∏–µ

–ö–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ yield –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ –≤–Ω—É—Ç—Ä–∏ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–∞. –ì–µ–Ω–µ—Ä–∞—Ç–æ—Ä - —ç—Ç–æ –æ—Å–æ–±—ã–π —Ç–∏–ø –∏—Ç–µ—Ä–∞—Ç–æ—Ä–∞, –∑–Ω–∞—á–µ–Ω–∏—è –∫–æ—Ç–æ—Ä–æ–≥–æ –º–æ–∂–Ω–æ –ø–æ–≤—Ç–æ—Ä—è—Ç—å —Ç–æ–ª—å–∫–æ –æ–¥–∏–Ω —Ä–∞–∑. –ö–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ yield –∞–Ω–∞–ª–æ–≥–∏—á–µ–Ω –æ–ø–µ—Ä–∞—Ç–æ—Ä—É return, –∑–∞ –∏—Å–∫–ª—é—á–µ–Ω–∏–µ–º —Ç–æ–≥–æ, —á—Ç–æ –æ–ø–µ—Ä–∞—Ç–æ—Ä—ã return –Ω–µ –º–æ–≥—É—Ç –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å—Å—è –≤ –≥–µ–Ω–µ—Ä–∞—Ç–æ—Ä–∞—Ö.

–¢–µ–ø–µ—Ä—å –≤—ã –≥–æ—Ç–æ–≤—ã –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –∫–ª—é—á–µ–≤–æ–µ —Å–ª–æ–≤–æ yield –∫–∞–∫ Pythonista!