# Передача примитивов параметрами функций в Python

Давайте рассмотрим особенности передачи примитивных типов данных (строки, числа) в параметры функции.

Пусть у нас есть функция, которая параметром принимает переменную `tst` и задает ей значение `2`. После функции объявим переменную `num`:

`def func(tst): tst = 2 print(tst) num = 3`

Давайте вызовем функцию и передадим в ее параметр переменную `num` и выведем ее значение в консоль. Несмотря на то, что в параметре функции указана `num`, ее значение в глобальной зоне видимости не изменилось:

`func(num) # выведет 2 print(num) # выведет 3`

Каким будет результат выполнения следующего кода:

`def func(txt): txt = 'user2' return txt name = 'user1' res = func(name) print(res) print(name)`

Каким будет результат выполнения следующего кода:

`def func(tst1, tst2): tst1 += 1 tst2 *= 2 return tst1 + tst2 num1 = 0 num2 = 2 res = func(num1, num2) print(num1 + num2) print(res)`
← →
↑