# Передача объектов параметрами в Python

Переменные, содержащие объекты (списки, множества, кортежи, словари) в функциях передаются по ссылке. Давайте перепишем код в функции так, чтобы первый элемент передаваемой переменной менялся на восклицательный знак. А ниже функции объявим переменную, значением которой является список:

`def func(tst): tst[0] = '!' print(tst) lst = [1, 2, 3, 4, 5]`

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

`func(lst) # выведет ['!', 2, 3, 4, 5] print(lst) # выведет ['!', 2, 3, 4, 5]`

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

`def func(lst): lst[0] = '!' lst = [1, 2, 3, 4, 5] func(lst) print(lst)`

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

`def func(lst): lst[0] = '!' lst = [1, 2, 3, 4, 5] lst = func(lst) print(lst)`

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

`def func(lst): lst = '!' lst = [1, 2, 3, 4, 5] func(lst[0]) print(lst)`

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

`def func(dct): for key in dct.keys(): dct[key] += 2 dct = { 'a': 1, 'b': 2, 'c': 3, } func(dct) print(dct)`
← →
↑