21 – Amaliy mashg’ulot


Download 0.96 Mb.
bet4/10
Sana24.12.2022
Hajmi0.96 Mb.
#1062100
1   2   3   4   5   6   7   8   9   10
Bog'liq
21dan 30 (1)

24 - Amaliy mashg’ulot.


Mavzu: “With” operatorini oqimlarda qo’llash.
Ishdan maqsad: Python dasturlash tilida “With” operatorini oqimlarda qo’llash.
Nazariy qism
Python-ning bayonoti yangi boshlagan va tajribali Python dasturchilari uchun ham chalkash bo'lishi mumkin. Ushbu bobda bilan kontekst menejeri sifatida bayonotining asosiy g'oyasi va uni qo'shma va bir vaqtda dasturlashda, xususan iplarni sinxronlashda qulflardan aniq foydalanishga oidligi haqida chuqur tushuntirish berilgan. Ushbu bobda ushbu bayonot bilan qanday qilib eng ko'p qo'llanilishini aniq misollar keltirilgan.
Ushbu bob quyidagi mavzularni qamrab oladi:
Kontekst menejmenti tushunchasi va bu bayonotda mavjud bo'lgan variantlar, masalan, qo'shma va parallel dasturlashda o'ziga xos kontekst menejeri sifatida taqdim etadi.
Bilan bayonotining haqiqiy sintaksisini va undan qanday qilib samarali va samarali foydalanishni.
Qo'shma dasturlashda with operatoridan foydalanishning turli xil usullari.
Texnik talablar
Ushbu bob uchun zaruriy shartlar ro'yxati:
Python 3 allaqachon kompyuteringizda o'rnatilganligiga ishonch hosil qiling
GitHub-dan kerakli omborni tekshiring
Ushbu bob davomida biz Chapter04 deb nomlangan pastki papka bilan ishlaymiz
Harakatdagi quyidagi videolarni tekshiring
Kontekstni boshqarish
Bilan bayonoti birinchi marta Python 2.5 da taklif qilingan va ancha vaqtdan beri mavjud. Biroq, hatto tajribali Python dasturchilarida ham undan foydalanish borasida chalkashliklar mavjud. Ushbu bayonot asosan resurslarni mos ravishda boshqaradigan kontekst menejeri sifatida ishlatiladi va bu, ayniqsa, birgalikda yoki parallel dasturda turli xil ob'ektlar tomonidan birgalikda foydalaniladigan birgalikda dasturlash va bir vaqtda dasturlashda juda muhimdir.
Tajribali Python foydalanuvchisi sifatida, ehtimol siz buni Python dasturlari ichidan tashqi fayllarni ochish va o'qish uchun ishlatilgan bayonot bilan ko'rgansiz. Ushbu muammoni pastroq darajada ko'rib chiqsak, Python-da ba'zi bir tashqi fayllarni ochish operatsiyasi ma'lum bir resursni sarf qiladi - bu holda ba'zi bir fayllarni tavsiflovchi - va sizning operatsion tizimingiz ushbu resursga ma'lum bir cheklovni o'rnatadi. Bu shuni anglatadiki, sizning tizimingizda ishlaydigan bitta jarayon bir vaqtning o'zida qancha faylni ochishi mumkinligi bo'yicha yuqori chegara mavjud.
Keling, ushbu fikrni yanada ravshanroq ko'rsatish uchun bir misolni tezda ko'rib chiqamiz. Quyidagi kodda ko'rsatilgan Chapter04 / example1.py faylini ko'rib chiqamiz:
# Chapter04/example1.py


n_files = 10
files = []

for i in range(n_files):


files.append(open('output1/sample%i.txt' % i, 'w'))

Ushbu dastur tezda output1 papkasida 10 ta matnli fayllarni yaratadi: sample0.txt, sample1.txt, ..., sample9.txt. Bizga qiziqroq bo'lgan narsa, bu fayllar for loop ichida ochilgan, ammo yopilmaganligi - bu yomon dasturlash amaliyoti, keyinchalik muhokama qilinadi. Keling, n_files qiymatini ushbu kodda ko'rsatilgandek katta raqamga - masalan, 10000 ga o'tkazmoqchi edik:
# Chapter4/example1.py


n_files = 10000
files = []

# method 1


for i in range(n_files):
files.append(open('output1/sample%i.txt' % i, 'w'))


Download 0.96 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling