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]

Ошондуктан, өзгөрүлүүчү объекттерди функцияга өткөргөндө, алардын мазмунун өзгөртүүгө болот, жана бул өзгөртүүлөр функциянын сыртында да сакталат.