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