Перадача зменных па значэнні ў Python

У Python усе даныя дзеляцца на прымітыўныя (радкі, лікі) і складаныя аб'екты (спісы, мноствы, слоўнікі і г.д.). Пры гэтым перадача зменных кожнага з тыпаў мае свае асаблівасці. Напрыклад, па значэнні можна перадаць зменныя, якія належаць толькі да прымітыўных тыпаў даных.

Няхай у нас ёсць дзве зменныя. Першая ўтрымлівае ў значэнні адзінку, а другая зменная роўная першай:

pythonnum1 = 1
num2 = num1

print(num2) # выведзе 1

Калі пасля аб'яўлення другой зменнай перазапісаць num1, то значэнне num2 застанецца ранейшым. Гэта тлумачыцца тым, што ў num2 капіруецца толькі значэнне першай зменнай. І любыя наступныя змены, унесеныя ў num1 не паўплываюць на num2. Тут працуе перадача зменнай па значэнні:

pythonnum1 = 1
num2 = num1
num1 = 3

print(num2) # выведзе 1
Задание 1

Які будзе вынік выканання наступнага кода:

pythonnum1 = 10
num2 = num1
num1 = 5

print(num2)
Задание 2

Які будзе вынік выканання наступнага кода:

pythonnum1 = 8
num2 = num1 - 2

print(num2)
Задание 3

Які будзе вынік выканання наступнага кода:

pythontxt1 = 'abcde'
txt2 = 'abcde'
txt1 = txt1.upper()

print(txt2)
Задание 4

Які будзе вынік выканання наступнага кода:

pythontxt1 = 'abcde'
txt2 = txt1
txt1 = txt1.title()

print(txt1)
print(txt2)