Предаване на обекти като параметри в 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)