Bir nechta oʻzgaruvchining bitta obyektga yoʻnaltirilish holatlari




Download 0.49 Mb.
bet5/11
Sana15.06.2023
Hajmi0.49 Mb.
#73375
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
kurs ishi. Pythonda nuqta chiziq va ranglar
kkk7, Aniq va tabiiy fanlar metodikasi, Reja Xaara bazislarida spektral analiz-fayllar.org, Sanoat korxonasida marketing faoliyatini tashkil etish. Reja 1 -fayllar.org, Mavzu. Xorijda ijtimoiy pedagogikaning rivojlanish tarixi, 23-24, maruza, 7. ALLAMOV (1), 1 1 Topshiriq EKOLOGIK MADANIYAT VA BARQAROR TARAQQIYOT ASOSLARI.docx tt, test, test 2, test 3, test 4, мустакил иш биоэкология озб
Bir nechta oʻzgaruvchining bitta obyektga yoʻnaltirilish holatlari
Biz oʻzgaruvchilar haqida asosiy bilimlarni oldik, endi yana bir muhim qismni koʻrib chiqamiz. Bu “Garbage-Collector” bilan bogʻliq holat. Mana bu kodga diqqat qiling: a
= 5 b
= a
Bu yerda dastlab a oʻzgaruvchisi yaratildi, undan keyin 5 qiymatga ega integer turidagi obyekt yaratildi va a oʻzgaruvchisi shu obyektga bogʻlab qoʻyildi. Keyingi qatorda esa b oʻzgaruvchisi yaratilib, uning uchun alohida qiymatli obyekt yaratilmasdan, tayyor turgan oldingi ga bogʻlab qoʻyildi. Quyidagi rasmga diqqat qiling:
Bu yerda a va b oʻzgaruvchilari aynan bitta obyektga yoʻnaltirilgan.
Yuqoridagi kodni tushungan holda unga yana bir qator kod qoʻshamiz: a
= 5 b
= a a
= “Python

Bunda endi ning qiymati “Python”niki esa ga teng. a ning qiymatini oʻzgartirish ga taʼsir qilmaydi bu oʻrinda.
Oʻzgaruvchan turlar bilan ishlaganda…
Bizda mutable (oʻzgaruvchan) boʻlgan list turi ham mavjudligi maʼlum. Mana bu kodga diqqatni qarating: a
= [1, 2, 3] b
= a a
[0] = 12 print
(b
)
>>> [12, 2, 3]
Ana xolos, a ni oʻzgartiruvdik, ni ham qiymat oʻzgarib ketdi! Siz bilan yuqorida mana shunaqa holatlarda 2 ta oʻzgaruvchi ham bitta obyektga bogʻlab qoʻyilishi haqida gaplashgan edik. Mana uning isboti. va aynan bitta list obyektiga bogʻlab qoʻyilgan, xohlasak orqali, xohlasak orqali oʻsha obyektni oʻzgartira olamiz. Biroq unutmang, bu faqat mutable (oʻzgaruvchan) turdagi obyektlar uchun amal qiladiimmutable (oʻzgarmas) turdagilarida bunday emas. Demak,
Mutable (oʻzgaruvchan) turdagi obyektga bir nechta oʻzgaruvchi bogʻlanganda, bir oʻzgaruvchi orqali obyekt oʻzgartirilsa, u qolgan barcha oʻzgaruvchilarda ham aks etadi. Chunki hamma oʻzgaruvchilar uchun umumiy boʻlgan obyekt oʻzgaradi bunda.
Agar boshqa oʻzgaruvchilarga ham shu qiymatli list bermoqchi boʻlsangiz-u, lekin ular hammasi bita obyektga bogʻlanmay, har biriga alohida obyekt boʻlishini xohlasangiz, unda obyektni nusxalashingiz kerak boʻladi. Bunda Pythonning copy moduli yordam beradi.
import copy a
= [1, 2, 3] b
= copy
.copy(a
)
Listlarni mana bunday yoʻl bilan ham nusxalashingiz mumkin: a
= [1, 2,3 ] b
= a
[:]

Download 0.49 Mb.
1   2   3   4   5   6   7   8   9   10   11




Download 0.49 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Bir nechta oʻzgaruvchining bitta obyektga yoʻnaltirilish holatlari

Download 0.49 Mb.