How to create an 'empty if statement' in python
Till the time you dont have any thing in if True:
you could do
if not mostlyhappenedcondition:
do something()
If you dont have to put any thing in "if" even in future, then it is redundunt in your code.
I can only guess you're looking for the pass
statement, sometimes needed to create an empty code block to prevent a syntax error.
if mostlyhappencondition:
pass
else:
do_something()
It would be much more usual to just do this, which is logically equivalent:
if not mostlyhappencondition:
do_something()
There are no significant performance gains to be found here.
There is a performance improvement if there isn't an else case in the "if", since the bytecodes don't pass execution into the "if" case.
Here's some functions and the output of dis.dis(foo)
The following sample app:
def foo(x):
if x:
pass
else:
return x+2
Disassembles to:
5 0 LOAD_FAST 0 (x)
3 POP_JUMP_IF_FALSE 9
6 6 JUMP_FORWARD 8 (to 17)
8 >> 9 LOAD_FAST 0 (x)
12 LOAD_CONST 1 (2)
15 BINARY_ADD
16 RETURN_VALUE
>> 17 LOAD_CONST 0 (None)
20 RETURN_VALUE
The following
def foo(x):
if not x:
return x+2
Disassembles to:
11 0 LOAD_FAST 0 (x)
3 POP_JUMP_IF_TRUE 14
12 6 LOAD_FAST 0 (x)
9 LOAD_CONST 1 (2)
12 BINARY_ADD
13 RETURN_VALUE
>> 14 LOAD_CONST 0 (None)