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
Echo (Yozgan xabaringizni o'zingizga qaytaruvchi) bot kodi:
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
from aiogram.types import Message

# 1. BotFatherdan olgan tokeningizni shu yerga kiritasiz
TOKEN = "YOUR_BOT_TOKEN"

# 2. Bot va Dispatcher yaratish, bot aniq telegramda ro'yxatdan o'tganmi yo'qmi tekshiradi
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

# 3. /start komandasi uchun xabar chiqaruvchi handler,
@dp.message_handler(commands=['start'])
async def start_handler(message: Message):
await message.answer("Salom! Men Echo botman. Menga xabar yozing, men uni qaytaraman!")

# 4. Oddiy xabarlarni qaytaruvchi handler
@dp.message_handler()
async def echo_handler(message: Message):
await message.answer(message.text)

# 5. Botni ishga tushirish
if __name__ == "__main__":
executor.start_polling(dp, skip_updates=True)

@python_core_oop
1
Mavzuni qiyinlashtirmaslikka harakat qilamiz, bu oddiy python kodi.
1. Kutubxonalarni chaqirish pythonda o'tganmiz bilamiz:
from aiogram import Bot, Dispatcher, types

2. O'zgaruvchi yaratish va unga qiymat kiritish (easy):
3. Chaqirgan kutubxonamizdagi funksiya yoki class qiymat kutsa unga (kutilayotgan_qimat)ni berardik, bu funksiyani keyinroq ishlatimiz kerak bo'lgani uchun o'zgaruchi yaratib saqlab olyapmiz.

bot = Bot(token=TOKEN)
dp = Dispatcher(bot)`
4. Dekorator funksiya. Quyida alohida tushuntiraman:
Bu yerda xabarlarni ushlash uchun kerak bo'lyapti, ya'ni qaysi xabarni ushlashni kiritasiz, shu xabar kelganda bu funksiya ichidagi amal bajariladi.
@dp.message_handler()

5. async va await bu haqida ham quyida tushuncha berib o'taman.
if __name__ == "__main__":
executor.start_polling(dp, skip_updates=True)

Bu botni ishlatish uchun kerak.
Bu shuni anglatadiki:
Agar bot faylini to‘g‘ridan-to‘g‘ri ishga tushirsak, u ishlaydi.
Agar boshqa joyda import qilsak, bot avtomatik ishlamaydi.
1
Dekorator nima? 🧐

Python dasturlash tilida dekorator – bu funksiyalar yoki klasslar ustiga qo‘shimcha imkoniyat qo‘shadigan maxsus funksiya yoki obyekt.
Dekorator funksiyaning bajarilish jarayoniga ta’sir qiladi, uni avtomatik ravishda chaqiradi yoki unga yangi xususiyatlar qo‘shadi.

Python’da dekorator qanday ishlaydi?
Asosiy tushuncha bo‘lishi uchun oddiy dekorator yasab ko‘raylik.

Oddiy dekorator misoli:
def decorator_example(func):
def wrapper():
print("Funksiya ishga tushishidan oldin...")
func()
print("Funksiya ishga tushishidan keyin...")
return wrapper

@decorator_example
def my_function():
print("Asosiy funksiya ishladi!")

my_function()

📝 Natija:
Funksiya ishga tushishidan oldin...
Asosiy funksiya ishladi!
Funksiya ishga tushishidan keyin...

Endi aiogramda start handlarini ushlashni decarotir bilan va decoratorsiz ko'rib chiqamiz:
Decoratori bilan:

@dp.message_handler(commands=['start'])
async def start_handler(message: Message):
await message.answer("Salom! Men Echo botman.")

Decoratorsiz:
async def start_handler(message: Message):
await message.answer("Salom! Men Echo botman.")

dp.register_message_handler(start_handler, commands=['start'])

Xullas, Dekorator Python’dagi funksiyaning ishlash tartibini o‘zgartiradigan maxsus funksiya.
Agar dekorator ishlatmasak, qo‘lda dp.register_message_handler() bilan funksiyalarni ro‘yxatga olishimiz kerak bo‘ladi. Tushunarli bo'ldi degan umiddaman. 🫣

@python_core_oop
1
Nega bot yozishda async va await ishlatiladi? 🤖⚡️
Bot dasturlarini yozishda async va await ishlatishning asosiy sababi asinxron ishlashni ta’minlashdir. Bu esa botning tezkor va samarali bo‘lishiga yordam beradi. 🚀

1️⃣ Asinxron ishlash nima?
Asinxron dasturlash shuni anglatadiki, bot bir vaqtning o‘zida bir nechta ishlarni bajara oladi va har bir vazifa bajarilguncha boshqa vazifalar kutib qolmaydi.

📌 Masalan:
👤 Foydalanuvchi botga so‘rov yuboradi → Bot javob tayyorlash bilan band bo‘lsa ham, shu paytda boshqa foydalanuvchilar bilan ishlashda davom etadi.

2️⃣ async va await ning vazifasi
async → Asinxron funksiyani belgilaydi.
await → Funksiya ichida boshqa asinxron funksiyalarni chaqirish uchun ishlatiladi.

3️⃣ async va await ishlatilmasa nima bo‘ladi?
🔴 Bot bitta foydalanuvchining so‘roviga javob berayotganda boshqalar kutib qoladi.
🔴 Bot ishlashi sekinlashadi va "freezing" (qotib qolish) muammolari yuzaga keladi.
🔴 Ko‘p so‘rovlar kelganda bot javob bermay qolishi mumkin.

async va await ishlatilsa esa bot bir vaqtning o‘zida ko‘p foydalanuvchiga xizmat qila oladi! ⚡️
💡 async va await → botni tezkor, samarali va bir nechta foydalanuvchi bilan parallel ishlashga qodir qiladi! 💪

🔥 Sizningcha, asinxron ishlash yana qayerlarda foydali bo‘lishi mumkin? Fikrlaringizni izohlarda kutaman!

@python_core_oop
1
🚀 Kod yozishda har bir qatorning ma’nosini tushunish muhim! 💡
Ko‘pchilik bot yoki dastur yozayotganda, kodni shunchaki nusxa ko‘chirib, ishlatib ketaverish mumkin deb o‘ylaydi. Lekin haqiqiy dasturchi har bir yozgan qatorining nimaga xizmat qilishini aniq tushunishi kerak. 🤔

Faqat kodni yozish emas, uni tushunish muhim!
🔍 Biror joydan kod oldingizmi?
✔️ Internetdan, ChatGPT’dan yoki boshqa manbadan bo‘lsa ham, avval uni o‘qing, tahlil qiling!
✔️ Agar kodda yangi yoki tushunarsiz joy bo‘lsa, shunchaki qabul qilib ketmang, balki uning qanday ishlashini o‘rganing!
✔️ Shu orqali siz dasturiy loyihalarda o‘zgarish kiritish va xatolarni tuzatish imkoniyatiga ega bo‘lasiz.

📌 Formulani yodlash emas, uni tushunish muhim!
Bu xuddi fizikada formulalarni yodlab olish bilan ularni qanday chiqarish mumkinligini tushunish farqiga o‘xshaydi. Agar siz faqat kodni o‘rganib qo‘ysangiz, u ishlamay qolganida nima qilishni bilmasligingiz mumkin. Ammo uni tushunsangiz, muammolarni hal qila olasiz! 💪

🔥 O‘rganishdan to‘xtamang!
📌 Kod yozishda har bir qatorni tushunishga harakat qiling!
📌 Kod yangi bo‘lsa – izlaning, tekshiring, sinab ko‘ring!
📌 Savollaringiz bo‘lsa – so‘rashdan tortinmang!

Omad, guys! Rivojlanishdan hech qachon to‘xtamang! 🚀💡

@python_core_oop
🔥2
PYTHON🔤🆓
Telegram Bot darslari | 9-dars | Pythonda API bilan ishlash Source: mohirdev @python_core_oop
Ok guys.
Telegram botni ishga tushirish va boshlang'ich ko'nikmalaringizni o'rganga bo'lsangiz. Dasturchi telegram botga ma'lumotlarni qayerdan olib yuborishi haqida gaplashamiz.

Telegram bot – bu foydalanuvchi bilan suhbatlashadigan dastur, lekin u Telegram platformasi bilan API orqali muloqot qiladi.

📌 Oddiy tushuntirish:
1️⃣ Foydalanuvchi botga xabar yuboradi.
2️⃣ Telegram serverlari bu xabarni qayta ishlaydi.
3️⃣ Botning serveri API orqali xabarni oladi.
4️⃣ Dasturchi yozgan kod bu xabarga javob tayyorlaydi.
5️⃣ API orqali javob Telegramga yuboriladi va foydalanuvchi natijani ko‘radi.

Biz backendchimiz, telegram biz uchun tayyor frontend template vazifasini bajaradi, a endi bizga ma'lumot kerak. Ma'lumotni esa biz API orqali olamiz. Sodda qilib aytganda biz API va telegram bot user orasidag aloqani ta'minlab bersak bo'lsa. Ya'ni user so'rov yuboradi, biz uni API tushunadigan tarzda API ga yuboramiz va undan qaytgan ma'lumotni userga tushunarli qilib so'rov yuborgan userga yo'naltiramiz.

@python_core_oop
1
API bu JSON
JSON bu biz o'rgangan dict ma'lumot turi. 🤨

@python_core_oop
🔹 API nima?

API (Application Programming Interface) – bu ikki dastur o‘zaro qanday muloqot qilishini belgilaydigan qoidalar to‘plami.

📌 Oddiy tushuntirish:
Tasavvur qiling, siz restoranda o'tiribsiz. Ofitsiant keladi va siz buyurtma berasiz.

Siz – mijoz (foydalanuvchi yoki dastur)

Ofitsiant – API (u buyurtmangizni oshxonaga yetkazadi)

Oshxona – server (ma’lumotni qayta ishlaydi va javob qaytaradi)

Siz ofitsiantga buyurtma berasiz (so‘rov yuborasiz), oshxona uni tayyorlab, ofitsiant orqali sizga yetkazib beradi (javob qaytaradi). API xuddi shu jarayonga o‘xshaydi! 🍽📲

🔹 JSON nima?

JSON (JavaScript Object Notation) – bu ma’lumotlarni oson o‘qish va uzatish uchun matnli format.

📌 Oddiy tushuntirish:
Tasavvur qiling, ofitsiant sizga menyuni JSON formatida olib keldi:
{
"taomlar": [
{"nomi": "Shashlik", "narxi": 30000},
{"nomi": "Osh", "narxi": 25000}
]
}

Bu yerda "taomlar" ro‘yxati bor va har bir taomning nomi hamda narxi JSON formatida yozilgan.

📌 Dasturlashda JSON qayerda ishlatiladi?

API'lar orqali ma’lumot olishda
Ma’lumotlarni serverga yuborishda
Fayllarni saqlash va uzatishda

@python_core_oop
👍32
Forwarded from MohirDev.uz
🤫 Python’chilarga shpargalka

Rasmlarda Python’da yangilar ko‘p so‘raydigan hamma savollarni to‘pladik.

Yoki hammasini emasmi? 👇

@mohirdev
2
simple_register_bot.zip
1.3 KB
Oddiy registratsiya bot.
Ishlatish tartibi:
1. Faylni yuklab olasiz.
2. @BotFather dan bot yaratib token olasiz.
3. Koddagi Bot_Token ga tokenni joylashtirasiz.
4. Kodni run qilasiz.
5. Botga /start bosasiz.

Bu shunchaki olgan bilimlarni mustahkamlash uchun. Keyinchalik Mukammalroq botlar yaratamiz. 🆕

@python_core_oop
2
Qanday Botlar yaratishni o'rganishni xohlaysiz, commentlarda qoldiring. Sizning fikringiz "men uchun muhim" 😊
2
Mnde o'ylab qarasam hammayoq python darslari, pythonni o'rganamiz bo'lib ketibdi. Manba ko'p. Lekin amaliyot kam. Shuning uchun buyog'iga faqat project yaratish usuliga o'tsak nima deysizlar. Faqat project yaratamiz katta-kichik, sodda-mukammal, qiziqarli iloji boricha. Manfaatli bo'ladi degan umiddaman. Inshaalloh portfolioga ham foydali qo'shimcha bo'ladi. Github, Linkedin, Telegram va Youtubeda ham qo'llab turasizlar degan umiddaman. Hamma dangasalar boshlaydigan kun, dushanbadan boshlaymiz unda 😅.
🔥431