Dinamik tiplashtirilgan



Download 2,94 Mb.
bet59/77
Sana06.10.2022
Hajmi2,94 Mb.
#851613
1   ...   55   56   57   58   59   60   61   62   ...   77
Bog'liq
Dinamik

import calendar
c = calendar.LocaleTextCalendar(0, "Uzbek_Uzbekistan.1251")
c.prmonth(2021, 12, 4)

formatyear([, w=2] [, 1=1] [, s=6] [, m=3]) — koʻrsatilgan yil uchun matn shaklidagi taqvimni qaytaradi. Uning parametrlari quyidagicha:
• w — kun uchin maydon (odatda ‑ 2);
• 1 — satrlararo interval (odatda ‑ 1);
• s — oylar orasidagi interval (odatda ‑ 6);
• m — bitta satrdagi oylar soni (odatda ‑ 3).
pryear([, w=2] [, 1=1] [, c=6] [, m=3]) — formatyear() metodiga oʻxshaydi. Ammo taqvimni toʻgʻridan-toʻgʻri ekranga uzatadi.
Taqvim uchun foydali boshqa finksiyalar quyidagi jadvalda keltirilmoqda.

setfirstweekday(“Haftaning birinchi kuni”)

taqvim uchun haftaning birinchi kunini (0 dan 6 gacha) belgilaydi yoki qaytaradi. Sonlar oʻrniga Monday, Tuesday, Wednesday, Thursday, Friday, Saturday yoki Sunday konstantalaridan foydalanish mumkin.

month (, [, [, l])

yilning koʻrsatilgan oyi uchun matnli taqvim.

monthcalendar (, )

koʻrsatilgan oy haftasi boʻycha taqsimlangan kunlarning ikki oʻlchovli massivi. Boshqa oyning kunlari 0 bilan ifodalanadi.

monthrange (, )

hafta kuni nomeri va oydagi kunlar sonidan iborat ikki elementli kortej.

calendar([, w] [, 1] [, c] [, m])

koʻrsatilgan yil uchun matnli taqvim.

rgsal([, w][, l][, c][, m])

calendar() funksiyasi kabi ishlaydi, faqat taqvim toʻgʻridan-toʻgʻri ekranga uzatiladi.

weekheader()

hafta kunlarining joriy mahalliy qisqartma nomlari.

isleap()

kabisa yili uchun ‑ True, aks hoda ‑ False.

leapdays(, )

koʻrsatilgan diapazondagi kabisa yillari sonini qaytaradi.

weekday (,,)

hafta kuni nomeri (dushanba ‑ 0, yakshanba - 6).

timegm()

davr boshidan boshlab oʻtgan sekundlar.



Calendar moduli dasturchilarga quyidagi hususiyatlarni ham taqdim etadi:

dayname

hafta kunlarining joriy davlat tilidagi nomlari roʻyhati.

day_abbr

hafta kunlarining joriy davlat tilidagi qisqartma nomlari roʻyhati.

monthname

oylarining joriy davlat tilidagi nomlari roʻyhati.

month_abbr

oylarining joriy davlat tilidagi qisqartma nomlari roʻyhati.

10.6. Kod parchasining bajarilish vaqtini oʻlchash


Timeit moduli optimallashtirish maqsadida kodning unchalik katta boʻlmagan parchalarining bajarilish vaqtini oʻlchash imkonini beradi.
Oʻlchashlar Timer klassi yordamida amalga oshiriladi. Uning umumiy koʻrinishi quyidagicha:
Timer([stmt='pass'][, setup='pass'][, timer=]).
Bu yerda stmt parametri sifatida bajarilish vaqti aniqlanayotgan kod yoziladi; kod parchasining bajarilish vaqtini timeit ([number=1000000]) metodi yordamida olish mumkin; number parametrida esa takrorolashlar soni koʻrsatiladi.
Namuna uchun 1 dan 10000 gacha boʻlgan sonlarning yigʻindisi hisoblanaytgan boʻlsin. Ishni uch hil usul bilan tashkil qilish mumkin.
from timeit import Timer
code1 ="""\
i, j = 1, 0
while i < 10001:
j += i
i += 1
"""
tl = Timer(stmt=code1)
print("while:" , tl.timeit(number=10000))
code2 = """\
j = 0
for i in range(1, 10001):
j += i
"""
t2 = Timer(stmt=code2)
print("for:", t2.timeit(number=10000))
code3 = """\
j = sum(range(1, 10001))
"""
t3 = Timer(stmt=code3)
print("sum:", t3.timeit(number=10000))
input ()
Ushbu kod kompyuterning quvvatiga bogʻliq ravishda quyidagi tahmimiy natijani beradi:

Koʻrinib turibdiki, while tsikliga nistaban for ikki marta tezroq ishlaydi; bu holda sum() ning bahosi yoʻq.
Repeat([repeat=3] [, number=1000000]) metodi timeit() metodini koʻrsatilgan marta takrorlaydi va natija beradi; number parametri timeit() metodiga uzatadi.
Quyidagi kodda namuna uchun 1 dan 10000 gacha boʻlgan sonlardan iborat satrli roʻyhat qurilmoqda.
from timeit import Timer
code1 = """\
arr1 = []
for i in range(1, 10001) :
arr1.append(str(i))
"""
t1 = Timer(stmt=code1)
print("append:", t1.repeat(repeat=3, number=2000))
code2 = """\
arr2 = [str(i) for i in range(1, 10001)]
"""
t2 = Timer(stmt=code2)
print("generator:", t2.repeat(repeat=3, number=2000))
input()
Dasturning tahminiy naytijasi:

Koʻrinib tiribdiki, generatorlar tezroq ishlar ekan.

Download 2,94 Mb.

Do'stlaringiz bilan baham:
1   ...   55   56   57   58   59   60   61   62   ...   77




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish