Hurry! Try our new Interactive Courses for FREE. 🥳   🚀
  Signup/Sign In

Scope of the variable initialised in the if statement

In this article, we will learn about what happens to the variable that is initialized inside an if statement in Python. We will use some custom codes to better understand the topic. Let's first have a quick look over what is an if statement in Python.

Python If Statement

Python has statements known as Conditional Statements to check for logical conditions. If statement is one of the conditional statements in Python. It checks for a condition using if keyword and if the condition given turns out to be True upon evaluation, it comes inside the scope of that if statement, otherwise it continues with the program code. It is also known as the decision making process. For example,

if(expression):
   does something..

Scope of a Variable in If Statement

Control blocks like If statements in Python do not count and the variables used or initialized inside the block of an If statement can also be used and accessed outside its scope. This is a normal functionality of if statements that programmers use in their everyday codes. Unlike languages such as C, a Python variable is in scope for the whole of the function (or class, or module) where it appears, not just in the innermost "block". So, anything declared in an if block has the same scope as anything declared outside the block. Variables are not checked at compile-time, which is why other languages throw an exception. In Python, so long as the variable exists at the time you require it, no exception is thrown.

Example: Variable has Local Scope

Here, b is not initialized or declared before the if condition. b is initialized inside if block and it can be used outside the if block locally throughout the program.

#local varaible outside if
a = 2

#check for an expression
if(a==2):
   #local variable inside if
   b = a+2

print(b)


4

Example: When an If Statement returns an error

In this case, the expression (a==3) is False, so the statement inside if does not executes. When we try to print the value of x outside the if block , it returns NameError because x doesn't exist or it is not defined.

#local variable outside the if statement
a = 2

#checks for an expression
if(a==3):
    #local variable declared inside if block
    x = 3

#returns error
print(x)


NameError: name 'x' is not defined

Conclusion

In this article, we learned about the scope of a variable that is defined inside the if block. We learned that control blocks allow all the variables to be used locally even if they are initialized inside the if block. Variables have a local scope that are defined inside the if statements.