Friday, 7 February 2025

Python Coding challenge - Day 366| What is the output of the following Python Code?

 


Step-by-Step Execution

Step 1: Define my_generator()

def my_generator():

    value = yield

    print(f"Received: {value}")

This is a generator function because it contains the yield statement.

Unlike a normal function, calling it does not execute the function immediately.

Instead, it returns a generator object that can be used to iterate lazily.

Step 2: Create a Generator Object

gen = my_generator()

This does not execute the function yet.

It simply creates a generator object.

Step 3: Start the Generator

next(gen)

The next(gen) advances execution to the first yield statement.

Inside my_generator(), execution starts at the beginning:

value = yield

yield pauses execution and waits for a value to be sent.

Since yield is on the right-hand side of value =, it waits for a value from gen.send(...).

At this point, execution is paused, and my_generator() is waiting for input.

Step 4: Send a Value into the Generator

gen.send(10)

gen.send(10) resumes execution at the yield statement.

The yield expression returns 10, which gets assigned to value.

value = 10  # Received from gen.send(10)

Execution continues past the yield statement, so the next line runs:

print(f"Received: {value}")  # Output: "Received: 10"

Since there is no more yield statement, the function ends, and the generator is exhausted.

Final Output

Received: 10

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (96) AI (38) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (186) C (77) C# (12) C++ (83) Course (67) Coursera (246) Cybersecurity (25) Data Analysis (1) Data Analytics (2) data management (11) Data Science (141) Data Strucures (8) Deep Learning (21) Django (14) Downloads (3) edx (2) Engineering (14) Euron (29) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Generative AI (9) Google (34) Hadoop (3) HTML Quiz (1) HTML&CSS (47) IBM (30) IoT (1) IS (25) Java (93) Java quiz (1) Leet Code (4) Machine Learning (76) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (4) Pandas (4) PHP (20) Projects (29) Python (993) Python Coding Challenge (436) Python Quiz (73) Python Tips (3) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (4) Software (17) SQL (42) UX Research (1) web application (8) Web development (4) web scraping (2)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses

Python Coding for Kids ( Free Demo for Everyone)