Python dasturlash maktabi


Kanal geosi va tili: O‘zbekiston, O‘zbekcha
Toifa: Ta’lim


@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

Связанные каналы  |  Похожие каналы

Kanal geosi va tili
O‘zbekiston, O‘zbekcha
Statistika
Postlar filtri


👉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


Python dasturlash maktabi dan repost
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())
So‘rovnoma
  •   ['1: one\n2: two']
  •   1: one
  •   2: two
  •   IndexError
3958 ta ovoz


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one\n2: two\n3: three") yozish.seek(0) print(yozish.readlines()[2])
So‘rovnoma
  •   1: one
  •   2: two
  •   3: three
  •   ['1: one\n', '2: two\n']
2490 ta ovoz


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one\n2: two\n3: three") yozish.seek(0) print(yozish.readline(2))
So‘rovnoma
  •   1:
  •   2:
  •   2: two
  •   3:
2183 ta ovoz


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one, 2: two") yozish.seek(0) print(yozish.read().split(':')[1])
So‘rovnoma
  •   2: two
  •   one, 2
  •   1: 2
  •   one: two
1952 ta ovoz


with open("pythonuz.txt", 'w+') as yozish: yozish.write("1: one, 2: two") yozish.seek(0) print(yozish.read().split(',')[1])
So‘rovnoma
  •   1: one
  •   2: two
  •   one
  •   two
1912 ta ovoz


Fayllar bilan ishlashda qanday holatda close() metodidan foydalanilmaydi?
So‘rovnoma
  •   binary maʼlumotlarni yozganda/oʻqiganda
  •   with opertoridan foydalanganda
  •   1024 baytdan kichik maʼlumot yozganda
  •   satr maʼlumotlarini yozganda
2058 ta ovoz


Faylga ikkilik maʼlumotni yozish uchun rejimga qaysi belgini yozamiz
So‘rovnoma
  •   write
  •   wr
  •   w
  •   wb
2294 ta ovoz


Python dasturlash tili fayllar bilan ishlashda eng koʻp qaysi funksiyadan foydalaniladi?
So‘rovnoma
  •   read()
  •   write()
  •   open()
  •   close()
2423 ta ovoz


Ⓜ️ 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])
So‘rovnoma
  •   Dilsora
  •   Sadokatkhon
  •   Lazizbek
  •   Iskandar
4883 ta ovoz


massiv1 = [7, 14, 42, 7] massiv2 = [42, 14] mavjud = set(filter(lambda x: x not in massiv2, massiv1)) print(mavjud)
So‘rovnoma
  •   7
  •   ['7']
  •   {7}
  •   {7: 7}
3129 ta ovoz


lugat = {1: 'ot', 2: 'burgut', 3: 'fil'} var = filter(lambda elem: len(elem[1]) % 2 == 0, lugat.items()) print(', '.join(dict(var).values()))
So‘rovnoma
  •   ot
  •   ot, burgut
  •   ot, fil
  •   burgut, fil
2739 ta ovoz


names = ['Isoyev', 'Umurov', "Ro'ziyeva"] print(list(filter(lambda x: x[-2:] not in ['ov', 'ev'], names)))
So‘rovnoma
  •   ['Isoyev', 'Umurov']
  •   ["Ro'ziyeva"]
  •   ['Isoyev']
  •   ['Umurov']
2514 ta ovoz


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


juft = filter(lambda elem: elem[0] % 2 != 0, {1: 2}.items()) print(len(dict(juft))
So‘rovnoma
  •  
  •   1
  •   2
  •   3
2481 ta ovoz


var = ["", True, False, [True], {}] print(len(list(filter(None, var))))
So‘rovnoma
  •   1
  •   2
  •   True
  •   SyntaxError
2431 ta ovoz


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 ta oxirgi post ko‘rsatilgan.

2 781

obunachilar
Kanal statistikasi