Kalimi i variablave me referencë në Python
Në Python, variablat që përmbajnë objekte komplekse kalojnë me referencë. Kjo do të thotë, të gjitha ndryshimet e bëra në një variabël do të reflektohen në të dytën. Dhe megjithëse me këtë lloj të caktimit të vlerave rritet rreziku i shfaqjes së gabimeve, nga ana tjetër kursehen në mënyrë të konsiderueshme burimet e kujtesës sistematike të OS.
Le të themi se kemi dy lista:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Meqë variablit lst2 iu caktua
vlera lst1, tani në kujtesën operative
të kompjuterit ruhet një listë,
ku dy variabla i referohen njëkohësisht.
Le të ndryshojmë elementin e parë të lst2
dhe të shfaqim listën e parë në konsol:
lst2[0] = '!'
print(lst1) # do të shfaqë ['!', 2, 3, 4, 5]
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Cili do të jetă rezultati i ekzekutimit të kodit në vijim:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)