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

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

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

pythondef func(tst):
  tst = 2
  print(tst)

num = 3

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

pythonfunc(num) # выведет 2
print(num) # выведет 3
Задание 1

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

pythondef func(txt):
  txt = 'user2'
  return txt

name = 'user1'

res = func(name)
print(res)
print(name)
Задание 2

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

pythondef func(tst1, tst2):
  tst1 += 1
  tst2 *= 2
  return tst1 + tst2

num1 = 0
num2 = 2

res = func(num1, num2)
print(num1 + num2)
print(res)