Uhamishaji wa Vigezo kwa Kumbukumbu katika Python
Katika Python, vigezo vinavyobeba vitu changamani vinahamishwa kwa kumbukumbu. Hii inamaanisha, badilika zote zilizofanywa kwenye kigezo kimoja zitaonyeshwa kwenye cha pili. Na ingawa kwa aina hii ya kupeana thamani hatari ya kukosekana huongezeka, lakini kwa upande mwingine inakuokoa kwa kiasi kikubwa rasilimali za kumbukumbu ya mfumo wa uendeshaji.
Tuchukulie tuna orodha mbili:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Kwa kuwa kigezo lst2 kilipewa
thamani ya lst1, sasa katika kumbukumbu
ya kufanya kazi ya kompyuta kuna orodha moja,
ambayo inarejelewa wakati mmoja na viambajengo
viwili.
Wacha tubadilishe kipengele cha kwanza cha lst2
na tuonyeshe orodha ya kwanza kwenye konsoli:
lst2[0] = '!'
print(lst1) # itaonyesha ['!', 2, 3, 4, 5]
Matokeo ya kutekeleza kifuatacho utawa nini:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Matokeo ya kutekeleza kifuatacho utawa nini:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Matokeo ya kutekeleza kifuatacho utawa nini:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)