Sobes.tech
Junior — Middle

O'zgartiriladigan ma'lumot turlarining ob'ektlari funksiyaga argument sifatida o'tkazilganda qanday o'zgaradi?

sobes.tech AI

AIdan javob

Python'da dəyişdirilə bilən tiplərdəki obyektlər (məsələn, siyahılar, lüğətlər, dəstlər) funksiyaya obyektə istinadla ötürülür. Bu, funksiyada obyektin məzmununu dəyişsəniz (məsələn, siyahıya element əlavə etsəniz), bu dəyişikliklər funksiyanın xaricində də görünəcək.

Misal:

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

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Nəticə: [1, 2, 3, 10]

Ancaq, funksiyada parametrə yeni obyekt təyin etsəniz, bu, xarici obyektə təsir etməz:

def replace_list(lst):
    lst = [4, 5, 6]  # Yeni obyekt yaradılır, funksiya üçün yerli

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Nəticə: [1, 2, 3]

Bu səbəbdən, dəyişdirilə bilən obyektləri funksiyaya ötürərkən, onların məzmununu dəyişə bilərsiniz və bu dəyişikliklər funksiyanın xaricində də qalacaq.