Что выведется на консоль?

Такой вопрос: у нас есть код:

def print_greetings():
print('Hello')
def multiply(a ,b):
return a * b

result = print_greetings() or multiply(4, 5)
print(result)

В результате выводится

Hello
20

Почему так? Почему не просто 20? Ведь вроде как функция ничего не возвращает, почему же она записывается в переменную? Как вообще это всё происходит? Помогите пожалуйста, я пока не силён в Питоне...

Потому что когда ты пишешь

result = print_greetings() or multiply(4, 5)

у тебя уже на этом шаге срабатывает функция print_greetings(), потом записывается переменная, которую ты тоже потом выводишь функцией

print(result)