Assalomu alaykum, yosh dasturchilar! 😊
Bugun biz Python'ning eng muhim mavzusini o'rganamiz
OOP — bu dasturlash paradigmasi bo'lib, unda ma'lumotlar va ular bilan ishlovchi funksiyalar bir butun sifatida (obyekt sifatida) tashkil qilinadi.
💡 Real hayotdan misol: Mashina zavodida har bir mashina bir xil chizmaga ko'ra yasaladi, lekin har birining o'ziga xos rangi, modeli bo'ladi!
Obyektlar uchun shablon.
Masalan: "Mashina" sinfi
Sinfdan yaratilgan konkret nusxa.
Masalan: "Toyota" obyekti
Obyektning xususiyatlari.
Masalan: mashina rangi
Obyektning harakatlari.
Masalan: mashina yurishi
# Class yaratish
class Mashina:
def __init__(self, rang, model):
self.rang = rang
self.model = model
def yuri(self):
print(f"{self.rang} {self.model} yurdi!")
# Obyekt yaratish
mashina1 = Mashina("Qizil", "Toyota")
mashina1.yuri() # Qizil Toyota yurdi!
📝 Bu yerda:
Mashina — sinf (class)mashina1 — obyekt (object)__init__ — konstruktor metodiism va yosh atributlariga ega bo'lsinVaqt: 5 daqiqa ⏰
# Sizning kodingiz shu yerga...
class Talaba:
def __init__(self, ism, yosh):
# Bu yerga kod yozing
pass
class Kitob:
def __init__(self, nomi, muallif):
self.nomi = nomi
self.muallif = muallif
# Obyektlar yaratish
kitob1 = Kitob("Alpomish", "Xalq ertagi")
kitob2 = Kitob("O'tgan kunlar", "Abdulla Qodiriy")
print(kitob1.nomi, kitob1.muallif) # Alpomish Xalq ertagi
print(kitob2.nomi, kitob2.muallif) # O'tgan kunlar Abdulla Qodiriy
💡 Bir sinfdan bir nechta obyekt yaratish mumkin!
class Kitob:
def __init__(self, nomi, muallif):
self.nomi = nomi
self.muallif = muallif
def malumot(self):
return f"Kitob: {self.nomi}, Muallif: {self.muallif}"
kitob1 = Kitob("Alpomish", "Xalq ertagi")
print(kitob1.malumot()) # Kitob: Alpomish, Muallif: Xalq ertagi
🔧 Metodlar — obyektning qila oladigan harakatlari!
class Universitet:
# Sinf atributi (umumiy)
nom = "TATU"
def __init__(self, talaba_ism):
self.talaba_ism = talaba_ism
talaba1 = Universitet("Sardor")
print(f"{talaba1.talaba_ism} {Universitet.nom}da o'qiydi.")
class Hayvon:
def __init__(self, turi, yosh):
self.turi = turi # Obyekt atributi
self.yosh = yosh # Obyekt atributi
class Talaba:
def __init__(self, ism, baho):
self.ism = ism
self.baho = baho
def baho_korsat(self):
return f"{self.ism}ning bahosi: {self.baho}"
def baho_ozgartir(self, yangi_baho):
self.baho = yangi_baho
return f"{self.ism}ning yangi bahosi: {self.baho}"
talaba = Talaba("Ali", 85)
print(talaba.baho_korsat()) # Alining bahosi: 85
print(talaba.baho_ozgartir(90)) # Alining yangi bahosi: 90
Telefon nomli sinf yarating, u marka va narx atributlariga ega bo'lsin.
Oquvchi sinfi yaratib, malumot metodini qo'shing.
tezlik_oshir metodini yaratib, tezlikni boshqaring.
Har bir mashq uchun 8-9 daqiqa vaqt! ⏰
nomi va kitoblar_soni atributlarikitob_qosh metodi (kitoblar sonini oshiradi)ism va kurs atributlarikurs_oshir metodimodel va yil atributlarimalumot metodiObyektlar uchun shablon
Sinfdan yaratilgan nusxa
Obyektning xususiyatlari
Obyektning harakatlari
Keyingi darsda: Class atributlari, instance atributlari, __init__ metodi
Savollaringiz bo'lsa, yozib qoldiring! 😊