Sobes.tech
Middle

Python'da o'zgaruvchilar qanday tuzilgan?

sobes.tech AI

AIdan javob

Python'dagi o'zgaruvchilar ma'lumotlar konteynerlari emas, balki xotirada obyektlarga murojaat qiladigan yoki nomlar bo'lib xizmat qiladigan belgilardir.

O'zgaruvchiga qiymat tayinlaganingizda, siz bu qiymatni ko'chirmaysiz, balki mavjud yoki yaratilayotgan obyektga murojaat qilasiz.

Asosiy tushunchalar:

  • O'zgaruvchi nomlari: Lotin harflari, raqamlar va chiziq osti belgilardan iborat bo'lishi mumkin. Raqam bilan boshlay olmaydi. Katta-kichik harflarga sezgir.
  • Obyektlar: Python'da hamma narsa obyekt. Har bir obyektning turi, qiymati va identifikatori (xotira manzili) bor.
  • Murojaatlar: O'zgaruvchi obyekt identifikatoriga murojaat qiladi.

Misol:

# 100 qiymatli int obyektini yaratamiz va uning identifikatorini 'a'ga tayinlaymiz
a = 100 
# 'b' o'zgaruvchisi endi aynan shu int obyektiga murojaat qiladi
b = a
# 200 qiymatli yangi int obyektini yaratamiz va uning identifikatorini 'a'ga tayinlaymiz
a = 200 

Ushbu misolda, a = 200 dan so'ng, a yangi obyekt 200ga murojaat qiladi, b esa hali ham 100 obyektiga murojaat qilmoqda.

  • Dinamik tip belgilash: O'zgaruvchining turi, unga murojaat qilayotgan obyektning turi bilan belgilanadi va bajarilish davomida o'zgarishi mumkin.
# 'x' o'zgaruvchisi int obyektiga murojaat qiladi
x = 10 
# Endi 'x' o'zgaruvchisi str obyektiga murojaat qiladi
x = "hello" 
  • Chiqindilarni yig'ish: Ob'ektga endi murojaat qiluvchi bo'lmaganida, Python avtomatik ravishda bu ob'ekt tomonidan egallangan xotirani chiqindilarni yig'ish mexanizmi yordamida bo'shatadi.

  • O'zgarmas (immutable) va o'zgartiriladigan (mutable) obyektlar:

    • O'zgarmas: Raqamlar, satrlar, tupurlar. Bunday obyektni "o'zgartirish"ga urinish, aslida yangi obyekt yaratadi.
    • O'zgartiriladigan: Ro'yxatlar, lug'atlar, to'plamlar. Ularning mazmuni yangi obyekt yaratmasdan o'zgartirilishi mumkin.
# O'zgarmas str obyekt
s = "world"
# Yangi str obyekt "hello world" yaratiladi, 's' unga murojaat qiladi
s = "hello " + s

# O'zgartiriladigan list obyekt
l = [1, 2, 3]
# Mavjud list obyektining mazmuni o'zgartiriladi
l.append(4) 

Shunday qilib, Python'dagi o'zgaruvchilar, obyektlarga murojaat qilish konseptiga asoslangan, moslashuvchan va kuchli vositalardir.