Sobes.tech
Middle

Pythonда өзгөрүлмө тизмектеги өзгөрүлмө мүнөздөмөсү кандайча өзгөрөт, эгер алмаштыргыс тизмек өзгөрүлмө эмес объектке киргизилсе?

sobes.tech AI

AIден жооп

Pythonда объекттин өзгөрүлбөс болушу объектке гана тиешелүү, ал аны шилтеме кылган мазмунга эмес. Эгер сизде өзгөрүлбөс объект (мисалы, tuple) жана анын ичинде өзгөрүлүүчү тизмеси болсо, анда tuple өзүңүздү өзгөртө албайсыз (мисалы, элементтерин алмаштыруу же жок кылуу), бирок ички тизмедеги мазмунду өзгөртүүгө болот.

Мунун мааниси, өзгөрүлбөс объект ички тизмеге шилтеменин өзгөрбөй турганын кепилдейт, бирок тизмеси өзү өзгөрүлүүчү бойдон калат. Бул бүт объект толугу менен өзгөрүлбөс деп эсептелсе, күтүлбөгөн жүрүм-турумга алып келиши мүмкүн.

Мисал:

immutable_tuple = (1, 2, [3, 4])

# Tupleду өзгөртүүгө болбойт:
# immutable_tuple[0] = 10  # Ката

# Бирок ички тизмедеги мазмунду өзгөртүүгө болот:
immutable_tuple[2].append(5)
print(immutable_tuple)  # (1, 2, [3, 4, 5])

Мындайча айтканда, ички объекттердин өзгөрүлмө болушу сакталат, сырткы объект өзгөрүлбөс болсо да.