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]
Այսպիսով, փոփոխական օբյեկտները ֆունկցիային փոխանցելիս, նրանց պարունակությունը կարող եք փոփոխել, և այդ փոփոխությունները կմնան ֆունկցիայի դուրս։