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]
Ошондуктан, өзгөрүлүүчү объекттерди функцияга өткөргөндө, алардын мазмунун өзгөртүүгө болот, жана бул өзгөртүүлөр функциянын сыртында да сакталат.