Python Dev
79 subscribers
236 photos
19 videos
3 files
101 links
Maqsad: Kanalga Python dasturlash tiliga oid faydali ma'lumotlar joylanib boriladi. Barchasi faqat sizlar uchun 💪🏻

Muhokama guruhimiz: @python_dev_chat
Murojaat: @uzaytijobs_admin
Download Telegram
🌙 Ramazon oyi barchamizga muborak boʻlsin

👉 @python_backend_dev
👍3
Masala:
Shart:
find_max funksiyasini e'lon qiling. Funksiyani 3 ta parametri bor (a, b, c).
Input orqali 3 ta son kiritamiz va bu sonlarni find_max funksiyasini chaqirib argumentlariga beramiz. find_max funksiyasi bu (a, b, c) o'zgaruvchilardan eng kattasini topib quyidagicha print qiladi.

Eng katta son - A = 10
yoki
Eng katta son - A va B = 10
yoki
Eng katta son - A va B va C = 10

Yechim:
def find_max(a, b, c):
if a > b:
if a > c:
result = f"Eng katta son - a = {a}"
elif a == c:
result = f"Eng katta son - a va c = {a}"
else:
result = f"Eng katta son - c = {c}"

elif a == b:
if b > c:
result = f"Eng katta son - a va b = {a}"
elif b == c:
result = f"Eng katta son - a, b va c = {a}"
else:
result = f"Eng katta son - c = {c}"

else:
if b > c:
result = f"Eng katta son - b = {b}"
elif b == c:
result = f"Eng katta son - b va c = {b}"
else:
result = f"Eng katta son - c = {c}"

return result


a = int(input("a: "))
b = int(input("b: "))
c = int(input("c: "))

print(find_max(a, b, c))


SIz qanday yechim bergan bo'lardingiz? Izohda qoldiring.

👉 @python_backend_dev
👍3
Python Closures (yopilishi)

Python Closures (yopilishi) tashqi funktsiya yopilgandan keyin ham tashqi funktsiyaning o'zgaruvchilariga kirish imkonini beruvchi ichki funksiyadir.

Python-da Nested(ichki) funksiya
Pythonda biz boshqa funksiya ichida funksiya yaratishimiz mumkin. Bu Nested(ichki) funksiya sifatida tanilgan. Masalan,
def greet(name):
# inner function
def display_name():
print("Hi", name)

# call inner function
display_name()

# call outer function
greet("John")

# Output: Hi John

Yuqoridagi misolda biz greet() funksiyasi ichida display_name() funksiyasini aniqladik.

Bu erda display_name() ichki funksiya hisoblanadi. Ichki funktsiya odatdagi funksiyaga o'xshash ishlaydi. U greet() funksiyasi ichida display_name() chaqirilganda ishlaydi.

Yuqorida aytib o'tganimizdek, yopish - bu tashqi funktsiya yopilgandan keyin ham tashqi funktsiyaning o'zgaruvchilariga kirishga yordam beradigan ichki funksiya. Masalan,

def greet():
# variable defined outside the inner function
name = "John"

# return a nested anonymous function
return lambda: "Hi " + name

# call the outer function
message = greet()

# call the inner function
print(message())

# Output: Hi John


Yuqoridagi misolda biz greet() nomli funktsiyani yaratdik, u ichki o'rnatilgan anonim funksiyani qaytaradi.

Bu erda biz tashqi funktsiyani chaqirganimizda, message = greet()

Qaytarilgan funksiya endi message o'zgaruvchisiga tayinlangan.

Bu vaqtda tashqi funktsiyani bajarish tugallanadi, shuning uchun name o'zgaruvchisi yo'q qilinishi kerak. Biroq, biz anonim funktsiyaga qo'ng'iroq qilganimizda, print(message())

biz tashqi funksiyaning name o'zgaruvchisiga kira olamiz.

Bu mumkin, chunki ichki o'rnatilgan funksiya endi tashqi funksiya bajarilgandan keyin ham o'z doirasidagi tashqi doira o'zgaruvchisini yopuvchi yopish vazifasini bajaradi.

Ushbu tushunchani aniqroq qilish uchun yana bir misolni ko'rib chiqaylik.

Misol: Python Closure yordamida toq sonlarni chop eting
def calculate():
num = 1
def inner_func():
nonlocal num
num += 2
return num
return inner_func

# call the outer function
odd = calculate()

# call the inner function
print(odd())
print(odd())
print(odd())

# call the outer function again
odd2 = calculate()
print(odd2())

Yuqoridagi misolda,
odd = calculate()
Bu kod tashqi calculate() funksiyasini bajaradi va toq songa closureni qaytaradi.

Shuning uchun biz tashqi funktsiyani bajarganimizdan keyin ham account() num o'zgaruvchisiga kira olamiz.

Shunga qaramay, biz tashqi funktsiyani chaqirganimizda
odd2 = calculate()
yangi closure qaytariladi. Demak, biz odd2() ni chaqirganimizda yana 3 ni olamiz.

Closures-ni qachon ishlatish kerak?

Xo'sh, closures nima uchun yaxshi?

Closures global qadriyatlardan qochish va ma'lumotlarni yashirishni ta'minlash uchun ishlatilishi mumkin va bir yoki bir nechta usullar bilan oddiy holatlar uchun yaxshi yechim bo'lishi mumkin.

Biroq, bir nechta atribut va usullarga ega bo'lgan kattaroq holatlar uchun (class) sinfni ishlatish ko'proq mos kelishi mumkin.

def make_multiplier_of(n):
def multiplier(x):
return x * n
return multiplier


# Multiplier of 3
times3 = make_multiplier_of(3)

# Multiplier of 5
times5 = make_multiplier_of(5)

# Output: 27
print(times3(9))

# Output: 15
print(times5(3))

# Output: 30
print(times5(times3(2)))

Barcha funktsiya ob'ektlari closure atributiga ega bo'lib, agar u closure funktsiyasi bo'lsa, cell ob'ektlari majmuasini qaytaradi.

Yuqoridagi misolga murojaat qilib, biz vaqt3 va marta5 closure funksiyalari ekanligini bilamiz.

Manba: Bu yerdan tarjima qilindi.

👉 @python_backend_dev
👍4
Ramazon hayiti muborak boʻlsin
👍4
Forwarded from Django darslari (Mukhammad irmatov) (mukhammad irmatov)
Load testing nega kerak?

Loyihadagi eng oxirgi buglarni ham to’g’irlab, so’nggi o’zgarishlarni deploy qilgach, endi nima ish qilsam ekan deb o’ylayotgan bo’lsangiz, dasturingizni load(stress) test qilib, uning imkoniyatlarini bilib olganingiz maqul.

Load testing - dasturga turli xil yuklama berish orqali ya’ni dastur yuklama yo’q, yuklama ko’p va yuklama haddan tashqari ko’p vaqtda qanday ishlashini bilib olish mumkin bo’ladi.

Siz o’zingiz ishlab chiqqan dasturni tinch holatda tekshirganingizda aksariyat holatda test muvaffaqiyatli o’tadi. Lekin dasturingizga 1000, 10000 va 100000 lab request jo’natilganda qanday ishlashini, qachon server ishlashdan to’xtashini albatta tekshirib olishingiz kerak.

Load testing(stress test ham deb atashadi) quyidagi savollarga javob topish uchun kerak:

1) Serverdan bir vaqtda foydalanuvchilar soni keskin oshganda qanday ishlaydi

2) Serverni maksimal qobiliyati qanday ya’ni bir vaqtda maksimal qancha user yoki qancha so’rovlarga javob bera oladi yoki server down bo’lish nuqtasi qayerda

3) Foydalanuvchilar soni oshganda response time qanchalik o’zgaradi

4) Dasturni qayerida qanday muammolar bor. Database querylar to’g’ri sozlanmaganmi yoki server resurslari yetarlimi yoki yo’q

Bu ma’lumotlarni bilish sizga dasturingiz kamchiliklarini to’g’irlashga va resurslarni to’g’ri sarflashga yordam beradi
👍4
👨🏾‍💻 Google-da ishlaydigan bir Dasturiy ta'minot muhandisini (Software Engineer) gaplari.

Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas.

Men dasturchi sifatida birinchi ishimni boshlaganimda hech qanday Linux buyruqlarini(kamandalarini) bilmasdim.

Men Amazonga qo'shilganimda(isha kirganimda) Gitni to'liq tushunmasdim.

Amazonda mening birinchi loyiham Python-da edi, lekin men hech qachon Python-da bir qator ham kod yozmaganman.

Men Google-ga qo'shilganimda, men C++ da dasturlay olmasdim, lekin ishimning aksariyati C++ da edi.

Keyinchalik jamoani o'zgartirganimda, men Dart-da xususiyat(feature) yaratdim, lekin men ilgari hech qachon Dart-dan foydalanmaganman.

Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Siz shunchaki kerak bo'lganda uni qayerdan topishni bilishingiz kerak.

👉 @python_backend_dev
👍4
Python Dev
👨🏾‍💻 Google-da ishlaydigan bir Dasturiy ta'minot muhandisini (Software Engineer) gaplari. Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Men dasturchi sifatida birinchi ishimni boshlaganimda hech qanday Linux buyruqlarini(kamandalarini)…
Noto'g'ri tushuncha paydo bo'lishi mumkin ekan, shuni uchun postni linkini ulashiyapman. Ya'ni qanday? Bu gaplarni Amazonga va Googlega ishga kirgan Engineer aytiyapti, endigina kursni tugatib, ishga joylashgan dasturchi emas.

"Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Siz shunchaki kerak bo'lganda uni qayerdan topishni bilishingiz kerak." shu joyiga e'tibor bering, yuklatilgan vazifani o'zi kerakli resurslarni internetdan qidirib topib, hal qiladigan odam, pashti 2-3 yil dasturlashda xizmat qilgan hisoblanadi, u bir dasturlash tili(soha)da yaxshigina tajribasi bor degani.
Siz ham mustaqil o'rganuvchiga aylaning!!!

Yuqoridagi postga link: Manba
🔥4
😂

Sizda qanday 😁?

👉 @python_backend_dev
😁3
😄😁

👉 @python_backend_dev
😁2🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
SPACETOP G1

Dunyodagi birinchi ekransiz noutbuk.

Manba: https://www.sightful.com

Settings

Blog: Has spatial computing failed?

Ajoyib, foydalanib koʻrmasdan biron nima deyish qiyin 🙂

👉 @python_backend_dev
🔥4
MRO (Method Resolution Order) haqida

class A:
def f(self):
print("A.f", end="")


class B(A):
def f(self):
print("B.f", end="")
super().f()


class C(A):
def f(self):
print("C.f", end="")


class D(B, C):
pass


def main():
D().f()
print()


main()

Bu misolda sinflar o'rtasidagi ko'pburchak meros olish (multiple inheritance) mexanizmi ishlaydi va natijada D sinfining metodlarini chaqirish tartibini belgilash uchun Python'da MRO (Method Resolution Order) deb ataluvchi tartib amal qiladi.

Qanday hodisa ro'y beryapti:

Bu yerda sinflarning meros olish tartibi quyidagicha: D sinfi B va C sinflaridan meros oladi, B va C sinflari esa A sinfidagi metodlarni meros oladi. Keling, MRO tartibini qanday ishlashini ko'rib chiqaylik.

MRO (Method Resolution Order) Tartibi
Python'da MRO algoritmi sinfda metodlar qanday chaqirilishini belgilaydi. D sinfining MRO tartibini aniqlash uchun quyidagi qoidalar amal qiladi:

1. Sinfning o'zi (D)
2. Chapdan o'ngga qarab asosiy sinflar (bu holda, B keyin C)
3. Barcha ota sinflar (A)
4. D sinfi uchun MRO tartibi shunday bo'ladi: D -> B -> C -> A.

Kodning ish tartibi
1. D().f() chaqirilganda, Python MRO tartibida f metodini izlaydi.
2. D sinfi B sinfidan meros olganligi sababli, B sinfidagi f metodi topiladi va chaqiriladi.
3. B sinfidagi f metodi ishlaydi va print("B.f", end="") bajariladi. Natijada ekranda "B.f" paydo bo'ladi.
4. super().f() chaqiriladi. super() bu yerda MRO tartibiga asoslanadi va B sinfidan keyingi sinfni izlaydi, bu holda C sinfi.
5. C sinfidagi f metodi chaqiriladi va print("C.f", end="") bajariladi. Natijada ekranda "C.f" paydo bo'ladi.

Umumiy tahlil

- D().f() chaqirig'i MRO tartibida B sinfning f metodini topdi.
- B sinfning f metodida super().f() chaqirig'i MRO tartibiga ko'ra C sinfning f metodini topdi.
- Shu tarzda ekranda "B.f" va "C.f" qator-qator chiqdi.

Shu bilan, kodning natijasi B.fC.f bo'ldi. Bu MRO algoritmi va super() funktsiyasi yordamida murakkab meros olish holatlarini boshqarish imkonini beradi.

Muallif: ChatGPT

👉 @python_backend_dev
😁2👍1
Forwarded from Davronbek | SWE 🪐 (🪐)
#tavsiya

- Bazida toshkentda o'ziz izlagan texnalogiyaga oid kitoblarni sifatliroq varyantini topish qiyin bo'ladi. 🤔

- Bu kitoblarni PDF varyantlari ham bor lekin man kabi "old school"lar uchun kitob varyanti o'zgacha bo'lsa kerak 😉

Dante.uz - dan bazi kitoblarni topshingiz mumkin (tekin reklama) 👌

p.s)Katta hajmdagi kitoblarning razmeriga etibor bering! 🚫 (siz qayerdan xarid qilasiz bu kabi kitoblarni? ⬇️)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1🤝1
To'lov tizimlari uchun integratsiya. Payme, Click va boshqa turdagi tizimlarga qanday ulaniladi?

https://diary.manu.uz/blog/tolov-tizimlari-uchun-integratsiya-payme-click-va-boshqa-turdagi-tizimlarga-qanday-ulaniladi.htm

@yetimdasturchi
👍4
🌙Barchangizga bugungi Qurbon Hayiti bayrami muborak bo’lsin!

👉 @python_backend_dev
👍3
Python Dev pinned «https://youtu.be/dfAVRQuSu6E Assalomu alaykum barchaga kechroq bo'lsada darslarni telegram kanalga tashlashga qaror qildim chunki bunga sabab menga berilgan ishonch bo‘ldi. Keyingi darslarimiz ham tez orada chiqishni boshlaydi rahmat barchaga. #video»
Eng yaxshi kod — hali yozilmagan kod.

©Chopildi 😁

👉 @python_backend_dev
😁3
Forwarded from Jakhongir Rakhmonov - IT
Tasavvur qiling, siz 10 yoshli bolachasiz. 

Sizning eng yaqin do‘stingiz ko‘chaning narigi tarafida yashaydi. Har tunda ota-onangiz sizni uxlagani xonangizga yuborgandan so‘ng, siz do‘stingiz bilan gaplashishni, fikr almashishni, g‘iybat qilishni xohlaysiz. Buni qanday uddalash mumkin? Telefon yo‘q, wi-fi o‘chirilgan. Lekin siz va do‘stingizda fonarcha bor. Fonarcha bilan gaplashsa bo‘ladimi?

Ikkalangiz ham yozishni, ham o‘qishni bilasizlar. Demak, fonarcha yordamida harflarni oynaga chizsangiz bo‘ladi. “O“ harfini yozish uchun fonarchani yoqib oynaga doira shaklini chizasiz. “I” harfi uchun esa vertikal chiziq chizasiz. Bu ishlaydigan usul, lekin juda ham sekin.

Keyin yaqinda ko‘rgan filmingiz esingizga tushadi. U filmda bir nechta dengizda suzayotganlar bir-birlaridan uzoq masofada turib fonarlarini miltillatib signallar yuborishgan va muloqot qilishgan edi. Balki shu yechim bo‘lar?

Shunday qilib, siz oddiy bir strategiya o‘ylab topasiz. Har bir harf qandaydir ketma-ketlikdagi fonar miltillashini (blinks) anglatadi. Masalan, “A” harfi bitta blink, B esa 2 ta, C esa 3 ta va hokazo. ”Bad” so‘zini jo‘natmoqchi bo‘lsangiz, 2 ta blink, 1 ta blink va 4 ta blink qilasiz. Albatta, kichik pauzalar bilan.

Bu yaxshi progress, lekin bu ham oson ish emas. “How are you?” deyish uchun 131 bir marta blink qilishingiz kerak. Lekin siz yaxshi yechimga yaqinlashib kelyapsiz. “Bunday muammoga yechim topilgan bo‘lishi aniq” degan fikr keladi sizga. Va siz mutlaqo haqsiz. Bir google qilsangiz “Morse code” degan ajoyib ixtiroga duch kelasiz. 

Uning ishlash prinsipi ham xuddi siz o‘ylab topgan usulga o‘xshab ketadi. Faqat Morse codeda 2 xil blink bor xolos - qisqa blink va kattaroq blink (“.” va “—“). Bu usul orqali “How are you?” deyish uchun 32 ta blink kifoya.

So‘zlarni hosil qilish uchun og‘zimiz bilan chiqaradigan tovushlar ham bir kod. Bu kod bizni eshita oladigan va bizning tilimizni tushunadiganlar uchun mo‘ljallangan koddir. Bu kodni biz “og‘zaki nutq” deb ataymiz.

Eshita olmaydiganlar uchun alohida kodlar mavjud - American Sign Language (ASL), LSQ va hokazolar.

O‘qiy oladiganlar uchun esa bizda boshqa turdagi kod mavjud - “yozma matn”.

Ko‘rlar uchun esa yana boshqa turdagi kod mavjud - Braille tizimi.

Muallif kodni yaratish uchun uni “encode” qiladi (ya’ni yozadi yoki gapiradi). Bu kodni tushunish uchun esa qolganlar bu kodni “decode” qiladi (ya’ni eshitadi, o‘qiydi). Ba’zida “transmission error”lar bo‘lishi mumkin. Masalan, matn yozilgan qog‘oz ustiga suv to‘kilsa.

Demak, xulosa qilib aytish mumkinki, code sizga muloqot qilish imkoniyatini beradi. Bu muloqot odam bilan odam o‘rtasida, odamlar va kompyuterlar o‘rtasida yoki kompyuter va kompyuter o‘rtasida ham bo‘lishi mumkin.

Manba: Code - The hidden language of computer hardware and software.

@jakhonrakhmonov
👍1
Forwarded from Botir Ziyatov
Sun'iy intellekt va Prompt Engineering boʻyicha bepul qoʻllanma (Prompt Engineering Guide)
promptingguide.ai

@botirziyatov
👍1
Sening djangoda ishlaydigan doʻsting 😎

Sizlar ham sinab koʻrganmisizlar?

Bu postni djangoda ishlaydigan doʻstingizga yuborib qoʻying 😁

Sayt egalariga hech qanday xusumatimiz yoʻq. Shunchaki kontent uchun olindi.

👉 @python_backend_dev
😁4