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