ifExpert Examples

Starts a conditional statement; executes block only if condition is true

If statement bytecode

How CPython compiles conditional branches.

python
import dis

def classify(x):
    if x > 0:
        return "positive"
    elif x == 0:
        return "zero"
    else:
        return "negative"

dis.dis(classify)

# The bytecode shows:
# - COMPARE_OP for the condition
# - POP_JUMP_IF_FALSE to skip the block
# - Each elif is a separate compare+jump
print(f"\nCode object constants: {classify.__code__.co_consts}")

if/elif/else compiles to a chain of compare + conditional jump instructions. There is no jump table optimization — each condition is tested sequentially.

Want to try these examples interactively?

Open Expert Playground