Mavzuni qiyinlashtirmaslikka harakat qilamiz, bu oddiy python kodi.
1. Kutubxonalarni chaqirish pythonda o'tganmiz bilamiz:
2. O'zgaruvchi yaratish va unga qiymat kiritish (easy):
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.
5. async va await bu haqida ham quyida tushuncha berib o'taman.
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. 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.
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:
📝 Natija:
Endi aiogramda start handlarini ushlashni decarotir bilan va decoratorsiz ko'rib chiqamiz:
Decoratori bilan:
Decoratorsiz:
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
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
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
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
🚀 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
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
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
🔹 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:
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
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
👍3 2
Forwarded from MohirDev.uz
🤫 Python’chilarga shpargalka
Rasmlarda Python’da yangilar ko‘p so‘raydigan hamma savollarni to‘pladik.
Yoki hammasini emasmi? 👇
@mohirdev
Rasmlarda Python’da yangilar ko‘p so‘raydigan hamma savollarni to‘pladik.
Yoki hammasini emasmi? 👇
@mohirdev
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
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
Qanday Botlar yaratishni o'rganishni xohlaysiz, commentlarda qoldiring. Sizning fikringiz "men uchun muhim" 😊
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 😅.
🔥4 3 1
📌 Assalamu alaykum everyone!
🌅 Xayrli tong!
🎯 Bugun real project yaratishga o‘tishdan oldin har bir dasturchi bilishi va bajara olishi shart bo‘lgan asosiy tayyorgarlik bosqichlari haqida qisqacha tushuncha berib o‘taman.
🔧 Shularni o‘zlashtirib olsak, projectlar yaratishni bemalol boshlaymiz!
🧠 1. GitHub bilan ishlash
📂 .gitignore — Keraksiz fayllarni (venv, .env, pycache va boshqalar) GitHub'ga chiqmasligi uchun ishlatiladi.
📄 README.md — Loyihangiz haqida kim, nima, qanday ishlatishi mumkin degan savollarga javob beradi. Portfolioda juda muhim!
👨💻 Har bir real loyiha Git bilan boshqariladi.
🛠 Versiya nazorati + jamoada ishlash uchun bu juda muhim vosita!
💻 2. Virtual muhit va fayllar
📦 Virtual muhit (venv, virtualenv) — Har bir loyihaga alohida kutubxonalar o‘rnatiladi.
🚫 Boshqa loyihalarning kutubxonalari bilan chalkashmasligi uchun majburiy!
🔒 .env — Maxfiy ma’lumotlar (API kaliti, token, parol) shu yerda saqlanadi.
📋 requirements.txt — Loyihada ishlatilgan barcha kutubxonalarni saqlaydi va boshqalarga bir zumda o‘rnatish imkonini beradi.
✅ Shu ikki bosqichni tushunib bajara olsangiz, keyingi bosqichga — real projectlar yaratishga o'tamiz! 🚀
Savol bo‘lsa bemalol yozing, yordam beraman 💬
#DasturchilarUchun #ProjectTayyorlash #Github #PythonDev
@python_core_oop
🌅 Xayrli tong!
🎯 Bugun real project yaratishga o‘tishdan oldin har bir dasturchi bilishi va bajara olishi shart bo‘lgan asosiy tayyorgarlik bosqichlari haqida qisqacha tushuncha berib o‘taman.
🔧 Shularni o‘zlashtirib olsak, projectlar yaratishni bemalol boshlaymiz!
🧠 1. GitHub bilan ishlash
📂 .gitignore — Keraksiz fayllarni (venv, .env, pycache va boshqalar) GitHub'ga chiqmasligi uchun ishlatiladi.
📄 README.md — Loyihangiz haqida kim, nima, qanday ishlatishi mumkin degan savollarga javob beradi. Portfolioda juda muhim!
👨💻 Har bir real loyiha Git bilan boshqariladi.
🛠 Versiya nazorati + jamoada ishlash uchun bu juda muhim vosita!
💻 2. Virtual muhit va fayllar
📦 Virtual muhit (venv, virtualenv) — Har bir loyihaga alohida kutubxonalar o‘rnatiladi.
🚫 Boshqa loyihalarning kutubxonalari bilan chalkashmasligi uchun majburiy!
🔒 .env — Maxfiy ma’lumotlar (API kaliti, token, parol) shu yerda saqlanadi.
📋 requirements.txt — Loyihada ishlatilgan barcha kutubxonalarni saqlaydi va boshqalarga bir zumda o‘rnatish imkonini beradi.
✅ Shu ikki bosqichni tushunib bajara olsangiz, keyingi bosqichga — real projectlar yaratishga o'tamiz! 🚀
Savol bo‘lsa bemalol yozing, yordam beraman 💬
#DasturchilarUchun #ProjectTayyorlash #Github #PythonDev
@python_core_oop
Tarjima :
Qachonki kod yozsam men va Xudo biladi nima qilganimni
Endi esa faqat Xudo biladi😅😅
Shuning uchun githubni bilish zarur.
#python #meme
@python_core_oop
Qachonki kod yozsam men va Xudo biladi nima qilganimni
Endi esa faqat Xudo biladi😅😅
Shuning uchun githubni bilish zarur.
#python #meme
@python_core_oop