Python

Параметры функций python (я чайник)

На скрине парень пишет простейший код. Я только начинаю учиться. Так вот он пишет в параметрах функции sum(a,b) хотя переменные у нас x и y. Мне непонятно почему он пишет так. Пробовал написать в параметрах реальные названия переменных, оно не работает. Разжуйте пжлст чайнику
x и y - это аргументы
a и b - это параметры

не важно, как называются x и y, это могут быть любые буквы/слова, важно то, что внутри функции мы будем работать только с a и b

если еще проще:

def sum(a, b):
____return(a + b)

x = 2
y = 4

когда мы вызываем функцию sum(x, y), происходит вот что:
a = x = 2
b = y = 4
т.е. в конечном итоге мы приходим к числам и не важно,
сколько там промежуточных переменных и как они называются

п.с. можно явно указать, что и чему присваивается, для лучшего понимания:
sum(a=x, b=y)
Beka $$$-$$$
Beka $$$-$$$
12 881
Лучший ответ
Купранов Валерий Вот с -- sum(a=x, b=y) -- всё встало на свои места. Огромнейшее тебе спасибо! Получается можно в параметрах использовать любые буквы если прописать например s=x..... Для меня просто на начальном этапе так гораздо понятней
def sum(a,b): return a + b
print(sum(2,3))
Функция берет параметр 'a' и записывает в него аргумент 2, берет параметр 'b' и записывает в него аргумент 3. Складывает. Получает 5. Возвращает результат.
Теперь мысленно замените 2 и 3 на x и y
Так, тут будет много текста. Во-первых, расскажу о типах переменных.
Глобальная - к переменной можно обратиться почти в любой часте кода, задается она вне функции
Локальная - такая переменная задается внутри функции и может использоваться также только внутри функции.
При передачи функции параметров как раз таки и создаются локальные переменные. В примере a и b - локальные, а x и y - это глобальные переменные.
Значениям локальных переменных a и b присваиваются значения x и y, соответственно. После этого выводится результат. После выполнения функции переменные a и b больше не существуют.
А что бы случилось, если бы внутри функции мы изменили переменную a? Например a+=1, а потом бы написали return a + b. Изменилась бы только переменная a, x остался бы прежним.
И последнее, "реальные названия переменных" - вот так делать не стоит. Что происходит в функции, когда мы в ней заводим локальную переменную с таким же именем как и у одной из глобальных? Все просто - питон игнорирует глобальную переменную. Проблема в том, что очень легко запутаться, поэтому имена локальных переменных в функциях НИКОГДА не должны совпадать с именами глобальных.

НО, вдруг это вопрос жизни и смерти и надо изменить глобальную переменную в функции. Тогда мы пишем global <переменная>. Питон понимает, что ты имеешь ввиду именно глобальную переменную, а не задаешь новую, и обращается к ней. Например:

x = 3
def f():
____global x
____x + 1

В результате x станет равным 4. Но и такой способ рекомендуется НЕ использовать, если возможно
Купранов Валерий Громадное спасибо за чёткий и развёрнутый ответ.