PYTHON๐Ÿ”ค๐Ÿ†“
56 subscribers
43 photos
41 videos
11 files
56 links
Python dasturlash tilini birga o'rganamiz๐Ÿค“๐Ÿซก. Learning python together. Tips and tricks. With real projects.
Contact me: @imsafarov
Download Telegram
1๏ธโƒฃ Inheritance (Meros olish)
Meros olish degani โ€“ bitta class boshqa bir classning xususiyatlari va funksiyalarini "meros qilib oladi." Bu, bir xil kodlarni qayta yozmaslikka yordam beradi.

Oddiy misol:
Tasavvur qiling, bizda hayvonlarni tasvirlovchi dastur bor. Barcha hayvonlarda "ovqat yeyish" funksiyasi bor, lekin har bir hayvonning ovozi har xil.
# Asosiy class (ota class)
class Odam:
def eat(self):
return "Ovqat yeyapti."

# Bola classlar (ota classdan meros olishadi)
class Ota(Odam):
def sound(self):
return "Ha xotin!"

class Ona(Odam):
def sound(self):
return "Qayerda yuribsiz!"

# Objectlar yaratamiz
ota = Ota()
ona = Ona()

print(ota.eat())
print(ota.sound())
print(ona.eat())
print(ona.sound())

Output:
Ovqat yeyapti.
Ha xotin!
Ovqat yeyapti.
Qayerda yuribsiz!


๐Ÿ’ก Xulosa:
Meros olish orqali barcha odamlarda ovqat yeyish funksiyasini qayta yozmasdan foydalanamiz. Lekin ovoz har biri uchun alohida.

@python_core_oop
๐Ÿ‘2
๐Ÿ›  Inkapulyatsiya (Encapsulation) haqida batafsil tushuntirish
Inkapulyatsiya (Encapsulation) โ€” bu OOPning muhim tamoyillaridan biri. U ma'lumotlarni yashirish va faqat zarur joyda ularga kirish imkoniyatini yaratish uchun ishlatiladi. Maqsad โ€“ sinf (class) ichidagi ma'lumotlarni (masalan, o'zgaruvchilarni) tashqi dunyodan (ja dunyomasku ๐Ÿ˜ lekin boshqa qanday ifodalashni bilmadim) himoya qilish.

Nima uchun inkapsulyatsiya kerak? ๐Ÿค”
Xavfsizlik: Sinf ichidagi ma'lumotlarga to'g'ridan-to'g'ri kirishdan saqlanish, ma'lumotlarni buzilishdan himoya qilish.
Ma'lumotlarni nazorat qilish: Sinfning ichki ishlarini tashqi kodga ta'sir qilmasdan boshqarish.
Kodni soddalashtirish: Sinfning tashqi interfeysi orqali ma'lumotlar bilan ishlashni boshqarish.

Qanday qilib inkapsulyatsiyani amalga oshiramiz?
Private atributlar (xususiyatlar): Odatda sinfdagi o'zgaruvchilar boshida __ (ikkita pastki chiziq) qo'yilib private (yashirin) deb belgilanishi mumkin.
Getter va Setter metodlari: Bu metodlar orqali private ma'lumotlarga kirish va ularni o'zgartirish mumkin bo'ladi.

class BankAccount:
def __init__(self, balance):
self.__balance = balance # Private ma'lumot (yashirilgan)

def deposit(self, amount): # Hisobga pul qo'shish
self.__balance += amount

def get_balance(self): # Hisob balansini ko'rsatish (getter)
return self.__balance

def set_balance(self, new_balance): # Hisob balansini o'zgartirish (setter)
if new_balance < 0:
print("Balans manfiy bo'lishi mumkin emas!")
else:
self.__balance = new_balance

# Bank hisobini yaratamiz
account = BankAccount(50000)

# To'g'ridan-to'g'ri __balance ga kirish mumkin emas
# print(account.__balance) # Bu xato beradi!

# Yashirilgan balansni olish uchun getter ishlatamiz
print(account.get_balance()) # 50000

# Yashirilgan balansni o'zgartirish uchun setter ishlatamiz
account.set_balance(70000)
print(account.get_balance()) # 70000

# Salbiy balans qo'yishning oldini olamiz
account.set_balance(-1000) # Balans manfiy bo'lishi mumkin emas!
print(account.get_balance()) # 70000

Nima bo'ldi?
__balance - private o'zgaruvchi. Bu o'zgaruvchini to'g'ridan-to'g'ri print qilishga urinsangiz, xato beradi, chunki bu o'zgaruvchi yashirilgan.
get_balance() - bu getter metod. Bu metod orqali balansni xavfsiz ko'rishimiz mumkin.
set_balance() - bu setter metod. Bu metod orqali balansni o'zgartirish mumkin, lekin biz faqat musbat qiymatlarni qabul qilishga ruxsat berdik.

Output:
50000
70000
Balans manfiy bo'lishi mumkin emas!
70000


Xulosa:
Private o'zgaruvchilar sinf ichida yashiriladi. Bunday o'zgaruvchilarga to'g'ridan-to'g'ri kirish mumkin emas.
Getter va setter metodlari orqali private ma'lumotlarga kirish mumkin. Getter yordamida ma'lumotni o'qish, setter yordamida esa o'zgartirish mumkin.
Bu usul inkapsulyatsiyani amalga oshirishga yordam beradi, ya'ni tashqi kod ma'lumotlarga bevosita kirish imkoniyatiga ega bo'lmaydi va ular faqat ma'lum metodlar orqali boshqariladi.
๐Ÿ’ก Foyda: Inkapsulyatsiya dasturdagi xatoliklarni kamaytiradi va ma'lumotlarni himoya qiladi.

@python_core_oop
๐Ÿ‘1
Hi guys! ๐Ÿ– Nima gaplar? ๐Ÿ‘€
Obunachilarimizga faqat nazariy ma'lumotlar tushunarli bo'lmayotgan ekan ๐Ÿฅฑ. Shuning uchun ๐Ÿ†˜ bundan buyog'iga ochiq manbalardan olingan video darslar ๐ŸŽž va nazariy ma'lumotlar ๐Ÿ“ birga berilib ketiladi.
O'rganishdan to'xtamaymiz guys.
Good luck!!! ๐Ÿซก
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Object Oriented Dasturlash nima? โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Klass va Obyekt โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Obyektlar bilan ishlash โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Vorislik va Polimorfizm โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Inkapsulyatsiya. Klassga xos xususiyat va metodlar. โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Dunder Metodlar. 1-qism โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
1
Media is too big
VIEW IN TELEGRAM
๐Ÿ“น Python Darslari | Object Oriented Dasturash. Dunder Metodlar. 2-qism โ†’
๐Ÿ‘ค Sariq dev โ†’

@python_core_oop
1
Forwarded from MohirDev.uz
Ramazon muborak!

Bu oy har safargidan-da manfaatli oโ€˜tsin. Ilmingiz ziyoda, ibodatlaringiz qabul boโ€˜lsin.

@mohirdev
๐Ÿ‘2
Telegram bot haqida boshlangโ€˜ich tushuncha

๐Ÿ“Œ Telegram bot nima?
Telegram bot โ€“ bu Telegram ichida avtomatlashtirilgan vazifalarni bajara oladigan dastur. U foydalanuvchilarga turli xizmatlar koโ€˜rsatish, maโ€™lumot yetkazish, buyurtmalarni qabul qilish, foydalanuvchi bilan muloqot qilish kabi ishlarni amalga oshiradi. Botlar odatda maโ€™lum bir buyruqlar yoki tugmalar yordamida boshqariladi.

โœ… Telegram botning afzalliklari
โœจ Tezkorlik โ€“ Foydalanuvchilarga tez va qulay xizmat koโ€˜rsatish imkonini beradi.
๐Ÿค– Avtomatlashtirish โ€“ Takroriy ishlarni bot bajarib, inson resurslarini tejaydi.
๐Ÿ“ฑ Platformadan mustaqillik โ€“ Har qanday qurilmadan foydalanish mumkin (telefon, kompyuter).
๐Ÿ”— Integratsiya โ€“ CRM, ERP, API va boshqa xizmatlar bilan bogโ€˜lanishi mumkin.
๐Ÿ”’ Xavfsizlik โ€“ Telegramโ€™ning kuchli shifrlash tizimi tufayli maโ€™lumotlar xavfsiz saqlanadi.

๐Ÿ” Telegram bot turlari
๐Ÿ“ข Axborot botlari โ€“ Yangilik, ob-havo, valyuta kurslari va boshqa maโ€™lumotlarni yetkazib beruvchi botlar.
๐Ÿ›’ Savdo va toโ€˜lov botlari โ€“ Internet-doโ€˜konlar, xizmatlar buyurtma qilish va toโ€˜lovlarni amalga oshirish uchun ishlatiladigan botlar.
๐Ÿ’ฌ Chatbotlar โ€“ Mijozlarga xizmat koโ€˜rsatish va savollarga javob berish uchun.
๐ŸŽฎ Koโ€˜ngilochar botlar โ€“ Oโ€˜yin botlari, mem botlari, musiqiy botlar va shunga oโ€˜xshash xizmatlar.
๐Ÿ“š Taโ€™lim botlari โ€“ Online kurslar, testlar va dars materiallarini taqdim etuvchi botlar.
๐Ÿ”„ Avtomatlashtirish botlari โ€“ Ish jarayonlarini yengillashtirish uchun qoโ€˜llaniladi (masalan, ish jadvali yoki eslatmalar botlari).

๐Ÿ›  Telegram bot yaratish uchun texnologiyalar

๐Ÿ’ป Dasturlash tillari:
๐Ÿ Python (aiogram, pyTelegramBotAPI)
๐ŸŸข JavaScript (telegraf.js, node-telegram-bot-api)
๐Ÿ˜ PHP (MadelineProto, Telegram Bot API)
โ˜•๏ธ Java (TelegramBots API)
๐Ÿ”ต C# (.NET Telegram.Bot)
๐Ÿน Go (tgbot)

๐Ÿ—„ Maโ€™lumotlar bazalari: PostgreSQL, MySQL, MongoDB, Firebase
โ˜๏ธ Xosting xizmatlari: Heroku, Railway, AWS, Render, Google Cloud

ยฉ๏ธ@python_core_oop
1