Difference between Yield and Return in Python

Python Yield statement

The generators are defined by using the yield statement in Python. Generally, it converts a normal Python function into a generator.

The yield statement hauls the function and returns back the value to the function caller and restart from where it is left off. The yield statement can be called multiple times. While the return statement ends the execution of the function and returns the value back to the caller. The function returns nothing without it. In Python generators, the yield function is used for replacing the return function that sends back the value to the user without ruining local variables.

What is Generator?

Python generators are used as a method for generating the iterators. Generators have automatically handled the task. A generator can be defined as the special function that returns an object of the generator to the caller.

In simple words, a generator is referred to the function that returns an iterator that we can iterate upon. In Python, it is very easy to create a generator and it uses the yield statement instead of the return statement.

Example 1:

Output:

94
4
2205
1.08

Example 2:

Output:

The number of 'a' in the string is : 3

Python Return Statement

The return statement is generally used for the execution ending and returns the value back to the caller. The return statement can return all types of values and it returns nothing when there is no expression passed to return statement. There can be multiple return statements in a function but only a single statement is called for any specified invocation of the function.

We can see a return statement is placed at the end of the block of the function for returning the final output of the execution of all statements inside the function. Also, it can be seen earlier in the block of the function for stopping the execution of all consequent statements in the block. The execution of the program at the caller is quickly restarted with a return statement. It returns none when no value is specified.

Example 1:

Output:

Addition: 94
Subtraction: 4
Multiplication: 2205
Division: 1.08

Example 2:

Output:

Tutorial and examples
Kaushal

Difference between yield and return Statement

Yield StatementReturn Statement
Yield returns the generator object.Returns the results to the caller.
It can run multiple times.It runs only a single time.
Code can be executed in the next function call after the yield statement.Code will not be executed after the return statement.
This statement can resume from where it is left off or paused.The function call in this statement only runs the function from the beginning.
The yield statement hauls the function and returns back the value to the function caller.The return statement takes exit from the execution and returns the value back to the caller.

Conclusion

In the above article, we have seen the differences in the return and yield statements. Also, we have understood the concepts of both statements and know how to use them in our Python programs.


Next TopicGraphene Python




Latest Courses