1. Python o'zgaruvchi nomlarini qiymatlarga bog'lash uchun reference ishlatadi. Masalan,
a = 4 bo'lsa Python 4 qiymatli obyekt ochib, "a" variableni shu qiymatga bog'laydi.2. Bir o'zgaruvchidan ikkinchisiga qiymat olinganida (
b = a) Python yangi obyekt yaratmaydi, balki yangi o'zgaruvchini ham eskisining qiymatiga bog'lab qo'yadi. 3. Pythonda listlar mutable, ya'ni uning qiymatini dastur davomida o'zgartirish mumkin.
4.
del keywordi obyektni xotiradan o'chirmaydi, faqatgina o'zgaruvchidan obyektga bo'lgan referenceni o'chiradi. Obyektni xotiradan o'chirish faqatgina garbage collectorning ishi.Endi kodni bir boshidan ko'rib chiqamiz.
a = [0, 1, 2]
b = aa list ochildi, keyin b a dan qiymat oldi. Demak endi a va b bitta listga qarab turibdi.b.append(3)
print(a)b o'zgaruvchi qarab turgan listga yangi element qo'shildi. Lekin a va b bitta listga qarab turgani uchun ikkalasi ham endi [0, 1, 2, 3] bo'ldi. Demak birinchi natija [0, 1, 2, 3].del a
print(b)Tepada aytilganidek,
del bu yerda listni o'chirmayapti, balki shunchaki a o'zgaruvchini listdan "uzib" qo'yayapti. Demak b o'zgaruvchiga zarar yetmagan va ikkinchi natja ham [0, 1, 2, 3].