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
โข 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
@uzpythonlogs
#matn #string #string_reversing #matn_teskariga_ogirish
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
Telegram
Uz Python Dev Logs
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
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
So'zlardan tashkil topgan ro'yxatni, so'zlarni uzunligiga asosan saralash:
#list #saralash #matn #string_list_sorting #sorted
>>>matn_royxat = ["Bir", "Ikki", "Uch", "To'rt", "Besh"]@uzpythonlogs
>>>matn_royxat = sorted(matn_royxat, key=len)
>>>print(matn_royxat)
['Bir', 'Uch', 'Ikki', 'Besh', "To'rt"]
#list #saralash #matn #string_list_sorting #sorted
Telegram
Uz Python Dev Logs
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
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
Ikki lug'at(dict) turdagi ma'lumotni birlashtirish usuli:
@uzpythonlogs
#dict #lugat #birlashtirish #merge #dictionary_merge
>>> 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
Telegram
Uz Python Dev Logs
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
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
O'zgaruvchiga ajratilgan xotiradagi joyni aniqlash usuli(baytda):
@uzpythonlogs
#xotira #sys #size #ozgaruvchi_hajmi
>>> import sys
>>> mening_ozgaruvchim = 1938
>>> print(sys.getsizeof(mening_ozgaruvchim))
28
@uzpythonlogs
#xotira #sys #size #ozgaruvchi_hajmi
Telegram
Uz Python Dev Logs
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
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
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:
#web_ilova #http #TcpServer
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
Lug'at(dictionary)ni qiymatlari asosida saralash usuli:
@uzpythonlogs
#lugat #dictionary #lambda #saralash #sorting
>>> lugat = {'shaharlar': 34, 'qishloqlar': 198, 'viloyatlar': 12}
>>> saralangan_lugat = dict(sorted(lugat.items(), key=lambda x: x[1]))
>>> print(saralangan_lugat)
{'viloyatlar': 12, 'shaharlar': 34, 'qishloqlar': 198}
@uzpythonlogs
#lugat #dictionary #lambda #saralash #sorting
Uz Python Dev Logs pinned ยซLug'at(dictionary)ni qiymatlari asosida saralash usuli: >>> lugat = {'shaharlar': 34, 'qishloqlar': 198, 'viloyatlar': 12} >>> saralangan_lugat = dict(sorted(lugat.items(), key=lambda x: x[1])) >>> print(saralangan_lugat) {'viloyatlar': 12, 'shaharlar': 34โฆยป
Python'ning re moduli orqali matndan ma'lum shart asosida, matnning kerakli bo'lagini qirqib olish usulini - mover.uz'dagi video misolida ko'ramiz! Uni quyidagi funksiya orqali olish mumkin:
@uzpythonlogs
#parsing #regex #videohavola
>>> url = 'https://mover.uz/watch/I2V2OKE/'Funksiyaning vazifasi: mover.uz'dagi biror videoga havolani berganda, funksiya video fayl turgan havolani qaytaradi.
>>> import re
>>>
>>>
>>> def mover_video_url_getter(url):
... try:
... groups = re.search('https://mover.uz/watch/(.+?)/', url).groups()
... except Exception as e:
... print("Havola noto'g'ri berilgan")
... return
... else:
... if len(groups) > 0:
... video_name = groups[0]
... video_url = "https://v.mover.uz/{}_m.mp4".format(video_name)
... return video_url
... else:
... print('Mos havola topilmadi')
... return
...
>>> mover_video_url_getter(url)
'https://v.mover.uz/I2V2OKE_m.mp4'
@uzpythonlogs
#parsing #regex #videohavola
Python'da Mover.uz'dan berilgan havola orqali video'ni yuklab olish usuli:
@uzpythonlogs
#parsing #mover #videohavola #yuklabolish
import requestsRahmat: @alimanuz
import os
class Parse:
"""
kiruvchi havola: https://mover.uz/watch/PUxFuoqm/
chiquvchi video 360: https://v.mover.uz/PUxFuoqm_m.mp4
chiquvchi video 720: https://v.mover.uz/PUxFuoqm_h.mp4
"""
https = 'https://v.mover.uz/'
q_360 = '_m.mp4'
q_720 = '_h.mp4'
q = {
'360': q_360,
'720': q_720
}
user_agent = {'User-agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030529'}
def __init__(self, link):
self.link = link
self.quantity_list = []
self.movie_id = self.link.split('/')[-2] # PUxFuoqm
def search_movies(self):
quantity_360 = self.https + self.movie_id + self.q_360
quantity_720 = self.https + self.movie_id + self.q_720
self.processing_quantity(quantity_360, '360')
self.processing_quantity(quantity_720, '720')
return self.quantity_list
def processing_quantity(self, quantity, text):
res360 = requests.get(quantity, headers=self.user_agent)
if res360.status_code == 200:
self.quantity_list.append(text)
def uploads(self, list_uploads):
self.create_folder()
quantity = {
'360': self.https + self.movie_id + self.q_360,
'720': self.https + self.movie_id + self.q_720
}
for up in list_uploads:
res = requests.get(quantity[up], headers=self.user_agent)
with open(f"{os.getcwd()}/uploads/{up}_{quantity[up].split('/')[-1]}", 'wb') as f:
f.write(res.content)
return True
@staticmethod
def create_folder():
base_dir = os.getcwd()
list_dir = os.listdir(base_dir)
if 'uploads' not in list_dir:
try:
os.mkdir('uploads')
except OSError:
raise Exception("Uploads katalogini yaratib bo'lmadi, ruxsatni tekshiring")
if __name__ == "__main__":
parser = Parse('https://mover.uz/watch/PUxFuoqm/')
parser.uploads(parser.search_movies())
@uzpythonlogs
#parsing #mover #videohavola #yuklabolish