Sobes.tech
Junior — Middle

Чӣ гуна объектҳои намудҳои маълумоти тағйирёбанда дар вақти гузаронидан ба вазифа ҳамчун аргументҳо тағйир меёбанд?

sobes.tech AI

Ҷавоб аз AI

Дар Python, объектҳои навъҳои тағйирёбанда (масалан, рӯйхатҳо, луғот, маҷмӯъҳо) ба функсия тавассути истинод ба объект гузаронида мешаванд. Ин маъно дорад, ки агар дар дохили функсия мундариҷаи объектро тағйир диҳед (масалан, илова кардани унсур ба рӯйхат), ин тағйиротҳо дар берун аз функсия низ намоён хоҳанд шуд.

Масалан:

def add_element(lst):
    lst.append(10)

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Натиҷа: [1, 2, 3, 10]

Аммо, агар дар дохили функсия ба параметр объекти нав таъин кунед, ин ба объект дар беруни функсия таъсир намерасонад:

def replace_list(lst):
    lst = [4, 5, 6]  # Объекти нав, маҳаллӣ барои функсия

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Натиҷа: [1, 2, 3]

Аз ин рӯ, вақте ки объектҳои тағйирёбандаро ба функсия мефиристед, шумо метавонед мундариҷаи онҳоро тағйир диҳед, ва ин тағйиротҳо берун аз функсия боқӣ хоҳанд монд.