Пренос на променливи по референца во Python
Во Python променливите кои содржат сложени објекти се пренесуваат по референца. Ова значи дека сите промени направени во една променлива ќе се рефлектираат на втората. И иако со овој тип на доделување вредности се зголемува ризикот од појава на грешка, се заштедува значајно на ресурсите на системската меморија на ОС.
Нека имаме две листи:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Бидејќи на променливата lst2 ѝ беше доделена
вредноста lst1, сега во оперативната
меморија на компјутерот се чува една листа,
на која истовремено укажуваат две
променливи.
Ајде да го смениме првиот елемент lst2
и да ја испечатиме првата листа во конзола:
lst2[0] = '!'
print(lst1) # ќе испечати ['!', 2, 3, 4, 5]
Кој ќе биде резултатот од извршувањето на следниот код:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Кој ќе биде резултатот од извршувањето на следниот код:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Кој ќе биде резултатот од извршувањето на следниот код:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)