პრიმიტივების გადაცემა ფუნქციების პარამეტრებით 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)