Sobes.tech
Junior

Fəaliyyətə arqumentlər necə ötürülür: istinadla və ya dəyər ilə?

sobes.tech Süni İntellekt

AI-dan cavab

Python-da arqumentlər tam olaraq referans və ya tam olaraq dəyər kimi ötürülmür, əvəzinə tez-tez "pass by object reference" və ya "pass by sharing" adlanan mexanizm vasitəsilə ötürülür.

Bu aşağıdakıları ifadə edir:

  • Bir funksiyaya arqument ötürülərkən, obyektə referans ötürülür.
  • Əgər obyekt dəyişdirilə bilən (məsələn, siyahı, lüğət) isə, funksiyada edilən dəyişikliklər xaricdə də görünəcək.
  • Əgər obyekt dəyişdirilə bilməzsə (məsələn, ədəd, sətir, tuple), onu dəyişdirməyə cəhd edərkən yeni obyekt yaradılır və funksiyadan kənarda olan orijinal obyekt dəyişməz qalacaq.

Dəyişdirilə bilən obyektlər:

# Dəyişdirilə bilən obyekt (siyahı)
def modify_list(items):
    items.append(4)

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

Dəyişdirilə bilməyən obyektlər:

# Dəyişdirilə bilməyən obyekt (ədəd)
def modify_number(num):
    num = num + 1

my_number = 5
modify_number(my_number)
# my_number hələ də 5