Sobes.tech
Senior

Hər bir print funksiyasında dəyişkən standart arqument ilə nə göstərəcək?

sobes.tech Süni İntellekt

AI-dan cavab

Dillərdə ki, funksiyalar mutabile (dəyişdirilə bilən) standart arqumentlərə malik ola bilər, məsələn Python'da, standart dəyərlər funksiyanın tərifi zamanı bir dəfə təyin olunur, hər çağırışda deyil. Bu, o deməkdir ki, əgər standart arqument dəyişdirilə bilən obyekt (məsələn, siyahı və ya lüğət) olarsa, bu obyekt üzərindəki dəyişikliklər çağırışlar arasında saxlanılır.

Python nümunəsi:


def func(a, lst=[]):
    lst.append(a)
    print(lst)

func(1)  # Çıxış: [1]
func(2)  # Çıxış: [1, 2]
func(3, ['x'])  # Çıxış: ['x', 3]
func(4)  # Çıxış: [1, 2, 4]

İzah:

  • Birinci çağırışda func(1) standart siyahı [] istifadə olunur və 1 əlavə edilir.
  • İkinci çağırışda func(2) eyni siyahı istifadə olunur, indi [1], və 2 əlavə edilir.
  • func(3, ['x']) çağırışında yeni siyahı ['x'] ötürülür, ona görə dəyişikliklər standart siyahıya təsir etmir.
  • Son çağırışda func(4) yenidən standart siyahı istifadə olunur, indi [1, 2], və 4 əlavə edilir.

Beləliklə, hər print çağırışı dəyişdirilə bilən standart arqumentin hazırkı vəziyyətini göstərəcək, və o, çağırışlar arasında dəyişiklikləri saxlayır.