• False
  • KICHIK
  • Mavzu: pythonda xotiraning dinamik sohasi va ko‘rsatkichlari mundarija




    Download 0.49 Mb.
    bet6/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, мустакил иш биоэкология озб
    Xotirani tejash mexanizmi
    Python kod ishlash tezligini oshirish va xotirani asrab-avaylash maqsadida ayrim obyektlarni “Garbage-Collecting” (keraksiz obyektlarni tozalash) paytida butunlay oʻchirib yubormasdan, keshlab qoʻyadi va kerak boʻlganda yana ishlataveradi. Bu jarayon faqat kichik qiymatli integer hamda string turlariga tegishli. Faqat kichik qiymatga ega boʻlgan string va integerlargina mana shunday keshlab qoʻyilishi mumkin.
    Bu dasturga qanday taʼsir etadi? Mana bu kodga qarang: a
    = 5 a
    = “salom” # 5 oʻchirilsinmi? Yoʻq, uni keshlab
    qoʻyamiz!
    Mana bunga qaraymiz: a
    = 5 # 5 obyekti yaratildi b
    = 5 # keshlab
    qoʻyilgan 5 bga
    ham bogʻlab qoʻyildi a
    is b
    # har ikkala oʻzgaruvchi bitta obyektga yoʻnalgan
    >>> True
    is operatori shunchaki ikkala oʻzgaruvchi bitta obyektga yoʻnaltirilganmi yoʻqmi, shuni tekshiradi. Agar ikkala oʻzgaruvchining qiymati bir xil, lekin har xil obyektlarga yoʻnalgan boʻlsa, unda operator False qiymat qaytaradi.
    Yuqoridagi misoldagi obyekti kichik hisoblanadi, shuning uchun ham uchun yangi qiymat berilsin degan paytda Python yangi obyekt uchun xotirani band qilmasdan, uni mavjud boʻlgan qiymatga bogʻlab qoʻya qoldi. Bu kod ishlash tezligini oshirish uchun ham xizmat qiladi. Biroq kattaroq sonlar yoki kattaroq oʻlchamli stringlarda bu narsa ishlamaydi. Faqat kichik oʻlchamlilari uchun bu.
    Taʼkidlaganimizdek, bu keshlash faqat kichik qiymatli integer hamda stringlarga tegishli va boshqa turlar bunda mustasno. a
    = [1, 2, 3] # Yangi obyekt yaratildi b
    = a
    # b
    ham shu obyektga bogʻlandi a
    == b
    # bir xil qiymatga ega
    >>> True a
    is b
    # b
    va a
    aynan bitta obyektga bogʻlangan
    >>> True
    Endi har bir oʻzgaruvchi uchun alohida kichik string va kichik integer boʻlmagan boshqa biror obyekt yaratamiz. a
    = [1, 2, 3] b
    = [1, 2, 3] # a
    va b
    uchun alohida obyektlar yaratildi a
    == b
    # bir xil qiymatga ega
    >>> True a
    is b
    # ikkalasi ikki xil, alohida obyektga bogʻlangan
    >>> False
    Yana qaytarib oʻtaman, bu keshlash faqat KICHIK oʻlchamli INTEGER va STRINGlar uchun amal qiladi.Bitta obyekt necha marta ishlatilgani (nechta oʻzgaruvchiga bogʻlanganligini) tekshirish uchun sys modulidagi getrefcount() metodini ishga solamiz.
    import sys sys
    .getrefcount
    (1)
    >>> 136
    Bu ayni paytda 1 qiymatli integer obyekti Pythonda nechta joyda ishlatilayotganini koʻrsatadi. Albatta, biz hali buncha 1 ishlatmadik, lekin Pythonning standart modullari va boshqalarda ishlatilgan boʻlishi mumkin. Bu metod umumiy statistikani koʻrsatadi.


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




    Download 0.49 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu: pythonda xotiraning dinamik sohasi va ko‘rsatkichlari mundarija

    Download 0.49 Mb.