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
Leetcode yoki Hackerrank'da muammolarni yechib turasizmi ?
Ha bo'lsa birgalikda yechishda davom etamiz, aks holda, bugunoq biz bilan boshlang :) !
@uzpythonlogs
#algoritmlar #contest #interview
Ha bo'lsa birgalikda yechishda davom etamiz, aks holda, bugunoq biz bilan boshlang :) !
@uzpythonlogs
#algoritmlar #contest #interview
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
1. Ikki sonning yig'indisi
Topshiriq:
Berilgan butun sonlar qatoridan shunday ikki sonning indekslarini qaytaringki, ularning yig'indisi berilgan songa teng bo'lsin.
Har bir elementni faqat bir marta ishlata olasiz!
Misol:
#algoritm #problem #solution #leetcode #contest #interview
Topshiriq:
Berilgan butun sonlar qatoridan shunday ikki sonning indekslarini qaytaringki, ularning yig'indisi berilgan songa teng bo'lsin.
Har bir elementni faqat bir marta ishlata olasiz!
Misol:
raqamlar_qatori = [2, 7, 11, 15], berilgan_son = 9,Yechim:
Chunki: raqamlar_qatori[0] + raqamlar_qatori[1] = 2 + 7 = 9,
Qaytadi: [0, 1].
class Solution:
... def twoSum(self, nums, target):
... """
... :type nums: List[int]
... :type target: int
... :rtype: List[int]
... """
... for index, current_value in enumerate(nums):
... searching_value = target - current_value
... try:
... searching_value_index = nums.index(searching_value, index + 1)
... if not searching_value_index <= 0 and searching_value_index <= len(nums):
... return [index, searching_value_index]
... except ValueError:
... continue
...
>>> print(Solution().twoSum([1, 3, 4], 7))
[1, 2]
@uzpythonlogs#algoritm #problem #solution #leetcode #contest #interview
LeetCode
Two Sum - LeetCode
Can you solve this real interview question? Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
You may assume that each input would have exactly one solution, and you may notβ¦
You may assume that each input would have exactly one solution, and you may notβ¦
Uz Python Dev Logs pinned Β«1. Ikki sonning yig'indisi Topshiriq: Berilgan butun sonlar qatoridan shunday ikki sonning indekslarini qaytaringki, ularning yig'indisi berilgan songa teng bo'lsin. Har bir elementni faqat bir marta ishlata olasiz! Misol: raqamlar_qatori = [2, 7, 11, 15]β¦Β»
Forwarded from Uz Python Meetup
1. from math import pi
print(pi)
2. import math
print(math.pi)
Savol:
1. 1 va 2 holat qanday farqi bor ?
2. Bir-biridan nima avfzalligi bor ?
Javoblarni komentariyada muhokama qilamiz!π
π @uzpythonlogs
#discussion, #teamwork, #community, #faq
print(pi)
2. import math
print(math.pi)
Savol:
1. 1 va 2 holat qanday farqi bor ?
2. Bir-biridan nima avfzalligi bor ?
Javoblarni komentariyada muhokama qilamiz!π
π @uzpythonlogs
#discussion, #teamwork, #community, #faq
Itertools bo'yicha Florian Dahlitzdan qo'llanma:
https://florian-dahlitz.de/blog/introduction-to-itertools#fn:2
π @uzpythonlogs
#itertools, #loop
https://florian-dahlitz.de/blog/introduction-to-itertools#fn:2
π @uzpythonlogs
#itertools, #loop
This media is not supported in your browser
VIEW IN TELEGRAM
Dasturlash tillarini yillar davomida o'sishi
βοΈ Python, ayniqsa oxirgi yillarda o'z o'rnini bermay kelayapti
π @uzpythonlogs
βοΈ Python, ayniqsa oxirgi yillarda o'z o'rnini bermay kelayapti
π @uzpythonlogs