Uz Python Dev Logs
204 subscribers
57 photos
1 video
2 files
50 links
Uz Python Logs (notes)
Bu yerda Python dasturlash tiliga oid sharhlarni o'zbek tilida kuzatib borishingiz mumkin
👋 Bu yerda siz ham o'zingiz qiziqtirgan mavzuda qiziqarli ma'lumotlar e'lon qilishingiz mumkin
Aloqa: @AzamMamatmurodov
Ishlar: @uzpythonjobs
Download Telegram
Channel created
Channel photo updated
python -c 'print("Salom Dunyo!")'
Python'ni foydalanish mumkin sohalar (joylar)

Web dasturlash: Django, Pyramid, Bottle, Tornado, Flask, web2py
GFI'ga ega dasturlar ishlab chiqish: tkInter, PyGObject, PyQt, PySide, Kivy, wxPython
Ilm-fanda va Hisoblashda: SciPy, Pandas, IPython
Dasturiy mahsulot ishlab chiqish jarayonida: Buildbot, Trac, Roundup
Tizimni boshqarishda: Ansible, Salt, OpenStack

👉 GFI (GUI) - Grafikli Foydalanuvchi Interfeysi
@uzpythonlogs

#use #foydalanish #soha
Matn turdagi ma'lumotni chop etish usullari

mening_matnim = "Oraliq masofani hisoblash"

- Teskarisiga o'girish:
print(mening_matnim[::-1])
- Birinchi oltita simvolni chop etish:
print(mening_matnim[:6])
- Teskarisiga o'girib, o'n to'rtta simvolni hisoblab, faqat juft simvollarni chop etish:
print(mening_matnim[:14:-2])

Qo'shimcha:
mening_matnim[boshlanish_indeksi:tugash_indeksi:qadamlar_soni]
☝️qadamlar_soni - oldidan qo'yiladigan (-) ishora, bu matnni oldin teskarisiga o'girib olish va shundan so'ng qadamlar soni hisoblanadi.

@uzpythonlogs
#matn #string #string_reversing #matn_teskariga_ogirish
Kodni ishga tushishiga ketgan vaqtni hisoblash
@uzpythonlogs
#performance #time_of_execution
So'zlardan tashkil topgan ro'yxatni, so'zlarni uzunligiga asosan saralash:

>>>matn_royxat = ["Bir", "Ikki", "Uch", "To'rt", "Besh"]
>>>matn_royxat = sorted(matn_royxat, key=len)
>>>print(matn_royxat)
['Bir', 'Uch', 'Ikki', 'Besh', "To'rt"]
@uzpythonlogs

#list #saralash #matn #string_list_sorting #sorted
Ikki lug'at(dict) turdagi ma'lumotni birlashtirish usuli:

>>> birinchi_manba = {'soni': 9, 'yigindisi': 2}
>>> ikkinchi_manba = {'yigindisi': 3, 'ochirilganlari': 12}
>>> {**birinchi_manba, **ikkinchi_manba}
{'soni': 9, 'yigindisi': 3, 'ochirilganlari': 12}


@uzpythonlogs
#dict #lugat #birlashtirish #merge #dictionary_merge
Python3 ning ichki imkoniyatlaridan foydalanib oddiy web ilova ko'tarish mumkin (framework yoki kutubxona ishlatmasdan)!

Buning uchun biz http va socketserver modullaridan foydalanishimiz yetarli va u quyidagicha bo'ladi:


from http.server import SimpleHTTPRequestHandler
from http import HTTPStatus
from socketserver import TCPServer


class Handler(SimpleHTTPRequestHandler):
def do_GET(self):
path = self.path
if path == "/":
status = HTTPStatus.OK
content = b"<b>Bosh sahifa</b>"
else:
status = HTTPStatus.NOT_FOUND
content = b"<b>Sahifa topilmadi</b>"
self.send_response(status)
self.end_headers()
self.wfile.write(content)


if __name__ == "__main__":
ip_address, port = '127.0.0.1', 8000
httpd = TCPServer((ip_address, port), Handler)
print(f"Server ishga tushdi: https://{ip_address}:{port}")
httpd.serve_forever()

Tekshirib ko'rish uchun brovserda ochib ko'rish yoki curl'dan ham foydalanishimiz mumkin :

$ curl https://127.0.0.1:8000
<b>Bosh sahifa</b>

$ curl https://127.0.0.1:8000/yangiliklar
<b>Sahifa topilmadi</b>

@uzpythonlogs
#web_ilova #http #TcpServer