Muuttujien välittäminen viittauksella Pythonissa
Pythonissa monimutkaisia objekteja sisältävät muuttujat välitetään viittauksella. Tämä tarkoittaa, kaikki yhdessä muuttujassa tehdyt muutokset heijastuvat toiseen. Ja vaikka tällaisessa arvojen osoittamistyypissä virheiden ilmaantumisen riski kasvaa, se säästää merkittävästi käyttöjärjestelmän järjestelmämuistin resursseja.
Oletetaan, että meillä on kaksi listaa:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Koska muuttujalle lst2 annettiin
arvoksi lst1, nyt tietokoneen keskusmuistissa
säilytetään yhtä listaa,
johon kaksi muuttujaa viittaavat samanaikaisesti.
Muutetaan lst2:n ensimmäinen elementti
ja tulostetaan ensimmäinen lista konsoliin:
lst2[0] = '!'
print(lst1) # tulostaa ['!', 2, 3, 4, 5]
Mikä on seuraavan koodin suorituksen tulos:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Mikä on seuraavan koodin suorituksen tulos:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Mikä on seuraavan koodin suorituksen tulos:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)