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)