ветвление if срабатывает только в том случае, если данное ей условие отдает True. А вот в каком виде это будет - просто if True или if 1 == 1 - уже не имеет значения. Оператор not же инвертирует булевое значение на противоположное - из True делает False, и наоборот.
А теперь, к самой задаче. Первый if не сработает, так как not True даст False. А вот теперь давайте разберем, почему сработает второй elif.
Для начала, нужно понимать, что в питоне - как и в математике - скобки имеют приоритет. Исходя из чего, not, стоящий перед скобками, инвертирует значение, выходящее из скобок. А что же в самих скобках? 1 + 1 == 3. Т.е. всё идёт к 2 == 3. Поскольку 2 - ну это не 3, что логично, то из скобок мы получаем False, который уже становится True из-за стоящего перед скобками not, а значит - и срабатывает условие, и выводится число 2