Thursday 21 March 2024

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

 

def outer():

    x = 10

    def inner():

        nonlocal x

        x += 5

        print("Inner:", x)

    inner()

    print("Outer:", x)

outer()


Solution and Explanation 

This code demonstrates nested functions in Python, along with the use of the nonlocal keyword.

Here's a breakdown of what each part does:

def outer():: This line defines a function named outer.

x = 10: Inside the outer function, a variable x is initialized with the value 10.

def inner():: Inside the outer function, another function named inner is defined.

nonlocal x: This statement inside the inner function tells Python that the variable x being referenced is not local to the inner function but belongs to the enclosing scope (which is the outer function in this case).

x += 5: Inside the inner function, x is incremented by 5.

print("Inner:", x): This line prints the value of x from the inner function after it has been incremented.

inner(): This line calls the inner function from within the outer function.

print("Outer:", x): After the inner function call, the value of x within the outer function is printed. Since x was modified within the inner function using the nonlocal keyword, its value will reflect the increment done inside the inner function.

outer(): Finally, the outer function is called, which executes the code inside it and its nested inner function.

When you run outer(), it will print:

Inner: 15

Outer: 15

This output shows that the inner function has successfully modified the value of x, and the change is reflected in the outer function as well.

0 Comments:

Post a Comment

Popular Posts

Categories

AI (27) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (114) C (77) C# (12) C++ (82) Course (60) Coursera (176) coursewra (1) Cybersecurity (22) data management (11) Data Science (87) Data Strucures (6) Deep Learning (9) Django (6) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (5) flutter (1) FPL (17) Google (19) Hadoop (3) HTML&CSS (46) IBM (25) IoT (1) IS (25) Java (92) Leet Code (4) Machine Learning (44) Meta (18) MICHIGAN (5) microsoft (3) Pandas (3) PHP (20) Projects (29) Python (740) Python Coding Challenge (188) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (40) UX Research (1) web application (8)

Followers

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