Python Inline If | Different ways of using Inline if in Python

While doing programming, the coder needs to do concise and clean code. As a result, they prefer choosing the concise version of big statements. Inline if is a concise version of if…else statement can be written in just one line. It basically contains two statements and executes either of them based on the condition provided. So, let us see the various ways in which one can use inline if in python.

Ways to use Python inline if statement:

  • Inline If Without Else
  • With Else Statement
  • Inline If Elif

Python Inline if Without else:

Syntax:

If <condition>: <statement>

Parameters:

  • <condition>: the condition to be evaluated
  • <statement>: executed if the condition evaluation is true

Example: Python Inline if without else

con = True
if con:print('The condition is True')
Python Inline if Without else:

Explanation:

Here, the con consists of the Boolean value True. As a result, the condition is satisfied, and the statement print (‘The condition is True’) is executed.

Python Inline if with else statement:

Syntax:

<statement1> if <condition> else <statement2>

Parameters:

  • <statemetn1>: executed if the condition evaluation is true
  • <condition>: the condition that will determine which statement to follow
  • <statement2>: executed if the condition evaluation is false

Example: Python Inline if with else

color='blue'
print ("The color is red" if color == 'red' else "The color is not red")

Output:

Explanation:

The value of color is ‘blue’. As a result, the condition doesn’t satisfy and so the statement in else part is executed.

Python Inline if with elif:

Although it can look a bit messy, writing an inline if- elif statement is possible and can be used as an expression wherever necessary.

Example: Python Inline if with elif

value = 10
print ("The value is less than 10" if value<10 else ("The value is more than 10" if value>10 else "The value is equal to 10"))
Inline if elif

Explanation:

It will first compare and check the value of 10, whether or not it is lesser than 10. As it is false, it goes into the next statement and checks if the value is more than 10. And ultimately, since none of the condition satisfies, it executes the last else part and prints the statement The value is equal to 10

Advantages of Python Inline if:

By now, we have understood how to use an inline if statement in different forms. But if we want to implement it into our program, we should know about its advantage and its disadvantage.

Since it itself is an expression, it can be used inside other expressions as well. It can be used as an expression inside a list, lambda functions, etc.

Example:

L= [idx if idx<50 else idx-50 for i in range (1,100)]
print(L)

Output:

Advantages

Explanation:

In this example, we have used the inline if expression as an expression for the list. It checks that if the element is less than 50, it will add it to the list. Otherwise, it will subtract 50 from the number and then add it to the list.

Disadvantage of Python Inline if:

Being an expression, it definitely serves various purposes. However, it is also the cause of disadvantage for the inline if. Since it is an expression, one can’t use any statement inside it.

Example:

b=10
a+=-1 if b==10 else 1

Output:

Disadvantages

Explanation:

Syntax Error is that in the else part, a=a+1 is a statement, and since inline if it is an expression, one cannot write a statement inside it.

Conclusion:

So, these are the various ways in which the inline if statement can be used. Since it is an expression, it comprises of both advantages and disadvantages. The usage of inline if should be done according to the program’s requirement to deliver the most optimized and accurate result.

However, if you have any doubts or questions, do let me know in the comment section below. I will try to help you as soon as possible.

Happy Pythoning!

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Rashid
Rashid
4 months ago

For the last example you could just do:
b=10
a+=-1 if b==10 else 1

Pratik Kinage
Admin
Pratik Kinage
4 months ago
Reply to  Rashid

Yes, I’ve updated the article.