Python dasturlash maktabi


Channel's geo and language: Uzbekistan, Uzbek
Category: Education


@pythonuz kanalida python dasturlash tili Nematillo Ochilov tomonidan bosqichma bosqich bepul o'rgatiladi
@NematilloOchilov - blog
@pythonuz - Python darslari
@js_uz - Java Script
@MQLUZ - Savdo robotlarni dasturlash

Related channels  |  Similar channels

Channel's geo and language
Uzbekistan, Uzbek
Category
Education
Statistics
Posts filter


👉https://t.me/notcoin_bot?start=rp_22378369 👍

Shunga kirib pul ishlasa boʻladi

20000 tanga toʻplagandan keyin Boost boʻlimidagi Auto tap bot ga bossangiz har 12 soatda sizga avtomatik 130000 toncoin beradi.Bu 1 oyda 10 million notcoin boʻladi va uni taxminan 20$ ga sotsangiz boʻladi. Bu narx keyinchalik oshib boradi

Savollarni izohda yozing

Internetda pul ishlashni xohlaganlarga ushbu postni yuboring


Forward from: Python dasturlash maktabi
Kanalga yangi tashrif buyurganlarga:
Python dasturlash tilini 0dan o'rganishni ushbu mavzudan 👈 boshlang.

Testlarni tushunmasdan belgilamang. Izohlarda faol boʻlinglar.

👉 Nematillo Ochilovning internetdagi sahifalari 👈


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one\n2: two") yozish.seek(0) print(yozish.readlines())
Poll
  •   ['1: one\n2: two']
  •   1: one
  •   2: two
  •   IndexError
3962 votes


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one\n2: two\n3: three") yozish.seek(0) print(yozish.readlines()[2])
Poll
  •   1: one
  •   2: two
  •   3: three
  •   ['1: one\n', '2: two\n']
2495 votes


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one\n2: two\n3: three") yozish.seek(0) print(yozish.readline(2))
Poll
  •   1:
  •   2:
  •   2: two
  •   3:
2186 votes


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one, 2: two") yozish.seek(0) print(yozish.read().split(':')[1])
Poll
  •   2: two
  •   one, 2
  •   1: 2
  •   one: two
1953 votes


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one, 2: two") yozish.seek(0) print(yozish.read().split(',')[1])
Poll
  •   1: one
  •   2: two
  •   one
  •   two
1914 votes


Fayllar bilan ishlashda qanday holatda close() metodidan foydalanilmaydi?
Poll
  •   binary maʼlumotlarni yozganda/oʻqiganda
  •   with opertoridan foydalanganda
  •   1024 baytdan kichik maʼlumot yozganda
  •   satr maʼlumotlarini yozganda
2059 votes


Faylga ikkilik maʼlumotni yozish uchun rejimga qaysi belgini yozamiz
Poll
  •   write
  •   wr
  •   w
  •   wb
2296 votes


Python dasturlash tili fayllar bilan ishlashda eng koʻp qaysi funksiyadan foydalaniladi?
Poll
  •   read()
  •   write()
  •   open()
  •   close()
2426 votes


Ⓜ️ Fayllar

Dasturda fayllar nima uchun kerak?
Ma'lumotlar ombori mavjud bo'lmagan kichkina dasturlarda ma'lumotlar operativ xotirada joy egallamasligi uchun ular fayllarda saqla
nadi.

Python fayllarni yaratish, o'qish, yangilash va o'chirish uchun bir nechta funksiyalarga ega.
Pythonda fayllar bilan ishlashning asosiy funksiyasi open() funksiya hisoblanadi.

open() funksiya 8 ta argumentni https://docs.python.org/3/library/functions.html#open o'z ichiga oladi.Open funksiyasi bilan ishlashda asosan fayl nomi va rejim argumentlaridan foydalanamiz.

Fayl ochishning har xil usullari (rejimi) mavjud:
r Faylni faqat o'qish uchun ochadi, agar fayl mavjud bo'lmasa FileNotFoundError nomli xatolikni qaytaradi
rb Faylni faqat ikkilik formatda o'qish uchun ochadi.
r+ O'qish va yozish uchun faylni ochadi.
rb+ Ikkilik formatda o'qish va yozish uchun faylni ochadi.
w Faylni faqat yozish uchun ochadi.
wb Faylni faqat ikkilik formatda yozish uchun ochadi.
w+ Faylni yozish va o'qish uchun ochadi.
wb+ Ikkilik formatda yozish va o'qish uchun faylni ochadi.
a Qo'shish uchun faylni ochadi, agar u mavjud bo'lmasa faylni yaratadi.
ab Ikkilik formatda qo'shish uchun faylni ochadi.
a+ Faylni qo'shish va o'qish uchun ochadi.
ab+ Ikkilik formatda qo'shish va o'qish uchun faylni ochadi.
x Faylni yaratadi, agar fayl mavjud bo'lsa xatolikni qaytaradi.
w+ Faylni yaratish va yozish uchun ochadi.

Bundan tashqari, fayl ikkilik yoki matn rejimi sifatida ishlashi kerakligini belgilashingiz mumkin.Fayl matn bilan ishlaganda 't' belgini ko'rsatish shart emas.

"t"- Text - Matn rejimi
"b" - Binary - Ikkilik rejim (matn turidan boshqa formatlar)

Pythonda fayl bilan ishlash quyidagi tartibda amalga oshiriladi:
1. open() funksiyasi yordamida fayl ochiladi;
2. read() metodi yordamida fayl o'qish yoki write() metodi yordamida faylga
yozish amalga oshiriladi;
3. close() metodi faylni yopadi.

file = open("pythonuz.txt", 'r')
file.read()
file.close()

Har doim fayllarni yopish kerak, ba'zi hollarda buferlash tufayli faylga kiritilgan o'zgarishlar faylni yopmaguningizcha ko'rinmasligi mumkin.

Fayllar bilan ishlashda blokda istisnolar yuzaga kelsa fayl avtomatik tarzda yopilishi uchun with operatoridan foydalanish tavsiya etiladi va bu operatordan foydalanganda close() metodi yozilmaydi:
with open("pythonuz.txt", "r") as file:
file.read()

'r' birlamchi rejim hisoblanadi va faylnmi o'qishda hech qanday harfni ko'rsatish shart emas:
with open("pythonuz.txt") as file:
file.read()

w, w+, wb, wb+ rejimlaridan foydalanganda ehtiyot bo'lish kerak , chunki fayl allaqachon mavjud bo'lsa, faylga oldin yozilgan barcha ma'lumotlar o'chiriladi.

with open("pythonuz.txt", 'w+') as yozish:
yozish.write("1-qator\n2-qator\n3-qator")
yozish.seek(0) # faylning boshiga o'tish

print("read(12): ", yozish.read(12)) # faylning 12-belgisigacha bo'lgan satrni o'qiydi
read(12): 1-qator
2-qa

yozish.seek(0)
print("read(): ", yozish.read()) # fayldagi barcha ma'lumotni o'qiydi
read(): 1 - qator
2 - qator
3 - qator

yozish.seek(0)
print("readline(): ", yozish.readline()) # 1-qatorni o'qish
readline(): 1 - qator

yozish.seek(0)
print("readline(5): ", yozish.readline(5)) # 1-qatordagi 5-belgigacha o'qish
readline(5): 1 - qat

yozish.seek(0)
print(yozish.readlines()) # barcha qatorlarni ro'yxatlash
['1-qator\n', '2-qator\n', '3-qator']

print("readable(): ", yozish.readable()) # O'qish mumkin bo'lsa True aksi bo'lsa False qaytaradi
readable(): True

print("writable(): ", yozish.writable()) # Yozish mumkin bo'lsa True aksi bo'lsa False qaytaradi
writable(): True

@pythonuz


Kanalga yangi tashrif buyurganlarga:
Python dasturlash tilini 0dan bepul o'rganishni ushbu mavzudan 👈 boshlang.

Testlarni tushunmasdan belgilamang. Izohlarda faol boʻlinglar.

👉 Nematillo Ochilovning internetdagi sahifalari 👈


yosh = {21: 'Dilsora', 9: 'Sadokatkhon', 12: 'Lazizbek', 11: 'Iskandar'} print(list(filter(lambda elem: len(elem[1]) > 10, yosh.items()))[0][1])
Poll
  •   Dilsora
  •   Sadokatkhon
  •   Lazizbek
  •   Iskandar
4886 votes


massiv1 = [7, 14, 42, 7] massiv2 = [42, 14] mavjud = set(filter(lambda x: x not in massiv2, massiv1)) print(mavjud)
Poll
  •   7
  •   ['7']
  •   {7}
  •   {7: 7}
3131 votes


lugat = {1: 'ot', 2: 'burgut', 3: 'fil'} var = filter(lambda elem: len(elem[1]) % 2 == 0, lugat.items()) print(', '.join(dict(var).values()))
Poll
  •   ot
  •   ot, burgut
  •   ot, fil
  •   burgut, fil
2740 votes


names = ['Isoyev', 'Umurov', "Ro'ziyeva"] print(list(filter(lambda x: x[-2:] not in ['ov', 'ev'], names)))
Poll
  •   ['Isoyev', 'Umurov']
  •   ["Ro'ziyeva"]
  •   ['Isoyev']
  •   ['Umurov']
2515 votes


satr = "@#py$,$tho#nuz," print(f'{satr[-1]}'.join(filter(lambda x: x not in ['#', '$', ','], satr)))
Poll
  •   @,p,y,t,h,o,n,u,z
  •   z
  •   @pythonuz
  •   pythonuz
2639 votes


juft = filter(lambda elem: elem[0] % 2 != 0, {1: 2}.items()) print(len(dict(juft))
Poll
  •  
  •   1
  •   2
  •   3
2482 votes


var = ["", True, False, [True], {}] print(len(list(filter(None, var))))
Poll
  •   1
  •   2
  •   True
  •   SyntaxError
2431 votes


filter() funksiyasi

Pythonda filter() funksiyasi funksiya va argumentni qabul qilib, funksiyadagi shartni bajarib elementlarni ajratadi va qiymat qaytaradi.
Afzalligi: kam kod yoziladi, sikllardan foydalanish shart emas, xotiradan faqat bir marta vaqtincha foydalanadi.
Avtomobil filteri havodan chang va chiqindilarni ajratib motorga toza havoni yetkazib berishi filter funksiyasiga yaqqol namunadir.

#—————————————-#

print("".join(reversed('teskari')))
# reversed funksiyasi satrni teskari o'girib beradi
irakset

#—————————————-#
Satr turidagi elementlarni teskarisiga o'girganda ham bir xil so'z paydo bo'ladigan elementlarni chop qilish dasturi

def birxil(word):
return word.lower() == "".join(reversed(word)).lower()

satr = ["nonushta", "non", "qovoq", "dastur"]
var=filter(birxil, satr)
print(var) # filter() funksiyasi filter obyektini qaytaradi


print(type(var)) # obyekt turini aniqlaymiz


print(list(var)) # filter obyektini ro'yxatga o'tkazib olish uchun list() funksiyasidan foydalaniladi
print(list(f))
['non', 'qovoq']

#—————————————-#

lugat = {1: 'tuya', 2: 'maymun', 3: 'sirtlon', 4: 'burgut', 5: 'olmaxon'}
# lug'at


juft = dict(filter(lambda elem: elem[0] % 2 == 0, lugat.items())) # juft raqamli kalitlardan iborat bo'lgan lug'at turida ajratib olamiz
print(juft) # lug'at turida natijani chop qilamiz
{2: 'maymun', 4: 'burgut'}
print(', '.join(list(juft.values()))) # lug'at turidagi natijani satr turiga o'zgartirib chop qilamiz
maymun, burgut

#—————————————-#

yetti = dict(filter(lambda elem: len(elem[1]) == 7, lugat.items())) # 7 ta harfdan iborat bo'lgan lug'at qiymatlarini lug'at turida ajratib olamiz
print(list(yetti.values())) # lug'at turidagi natijani ro'yxat turiga o'zgartirib chop qilamiz
['sirtlon', 'olmaxon']

#—————————————-#

juft = dict(filter(lambda elem: elem[0] % 1 == 0 and len(elem[1]) == 4, lugat.items())) # toq raqamli kalitlardan va 4 ta belgidan iborat bo'lgan qiymatlarni lug'at turida ajratib olamiz
print(', '.join(list(juft.values()))) # lug'at turidagi natijani satr turiga o'zgartirib chop qilamiz
tuya

#—————————————-#

yosh = {15: 'Dilnoza', 12: 'Otabek', 22: 'Sanjar', 41: 'Iskandar'}
print(dict(filter(lambda elem: elem[0] > 18, yosh.items()))) # ro'yxatdan 18 yoshdan katta kishilarni ajratib olib chop qilish
{22: 'Sanjar', 41: 'Iskandar'}

#—————————————-#

massiv1 = [1, 3, 6, 7, 12, 19, 19, 21, 21, 27, 29, 1]
massiv2 = [1, 19, 29]
mavjud = list(filter(lambda x: x not in massiv2, massiv1)) # massiv2 da mavjud bo'lmagan massiv1 dagi raqamlarni ro'yxat turida chop qilish
print(mavjud)
[3, 6, 7, 12, 21, 21, 27]

#—————————————-#

satr = "Bugu*n# @h&avo ju%da is%%s%iq!$"
belgi = filter(lambda x: x not in ['#', '$', '@', '*', '%', '&'], satr) # satrdan quyidagi belgilarni o'chiramiz
print(''.join(
belgi
))
Bugun havo juda issiq!

#—————————————-#

names = ['Durdona Jakbaraliyeva', 'Munisa Keldiyorova', 'Boysoat Namozov', 'Oybek Ibrohimov', 'Mohinur Abdurahimova']
print(list(filter(lambda x: x.split(' ')[1][-2:] == 'va', names))) # Ro'yxatdan qizlarni ism familiyasini ajratib olib chop qilish
['Durdona Jakbaraliyeva', 'Munisa Keldiyorova', 'Mohinur Abdurahimova']

#—————————————-#

aralash = ["", 7, 21, 27, 42, 112, 256, True, False, [], {}]
print(list(filter(None, aralash))) # 0 ga teng bo'lmagan elementlarni ajratib olib chop qilish
[7, 21, 27, 42, 112, 256, True]

#—————————————-#

Mavzu sizga ma'qul kelgan bo'lsa mavzuni dasturlashga oid guruhlarga yuborib muhokama qiling.Tushunmagan savollaringizni izohda yozib qoldiring.

#filter

@pythonuz

20 last posts shown.

2 781

subscribers
Channel statistics