Sobes.tech
Middle

Python-da parametrlər dəyər və ya referans vasitəsilə ötürülürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Python-da parametrlər obyektə referans yolu ilə ötürülür (pass-by-object-reference). Bu, funksiyanın dəyərin surətini deyil, obyektə referans aldığını göstərir. Ancaq, davranış obyektin dəyişdiriləbililiyinə bağlıdır:

  • Dəyişdirilə bilən obyektlər (məsələn, siyahılar, lüğətlər) daxilindəki dəyişikliklər orijinal obyektə təsir edir.
  • Dəyişdirilə bilməyən obyektlər (məsələn, ədədlər, sətirlər, tuple-lər) daxilində obyektin dəyişdirilməsinə cəhd hər zaman yeni obyekt yaradır və orijinal dəyişməz qalır.

Nümunə:

def modify_list(lst):
    lst.append(4)

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # [1, 2, 3, 4]


def modify_int(x):
    x += 1

num = 5
modify_int(num)
print(num)  # 5

Beləliklə, parametrlər referans vasitəsilə ötürülür, lakin davranış dəyişdirilə bilməyən obyektlər üçün dəyər ilə ötürməyə bənzəyir.