1. modullar bn ishlash



Download 22,2 Kb.
Sana17.07.2022
Hajmi22,2 Kb.
#814752
Bog'liq
manzura


1.modullar bn ishlash
Modul bu loyihamiz ichidagi alohida fayl bo'lib, dasturimiz davomida ishlatiladigan funskyalarni (va o'zgaruvchilarni) mana shu faylga joylab, ko'zdan yashirib qo'yishimiz mumkin. Bu bizga asosiy dasturimizdan chalg'imasdan kod yozish imkoniyatini beradi.
MODUL YARATAMIZ Modul yaratish uchun asosiy dasturimizdagi funksiyalarni yangi faylga ko'chiramiz xolos. Modulga oson murojat qilishimiz uchun, faylimiz asosiy dasturimiz bilan bitta papkada bo'lgani afzal. Bunda adashib ketmaslik uchun, loyihangizning (dasturning) asosiy faylini main.py deb nomlash o'rinli.
Keling, biz ham avto_info_mod.py degan fayl yaratamiz va ichiga quyidagi 3 ta funksiyalarni joylaymiz:
1def avto_info(kompaniya, model, rangi, korobka, yili, narhi=None):
2"""Avtomobil haqidagi ma'lumotlarni lug'at ko'rinishida qaytaruvchi funksiya"""
3avto = {'kompaniya':kompaniya,
4'model':model,
5'rang':rangi,
6'korobka':korobka,
7'yil':yili,
8'narh':narhi}
9return avto
10
11def avto_kirit():
12"""Foydalanuvchiga avto_info funksiyasi yordamida bir nechta avtolar haqida ma'lumotlarni bitta ro'yxatga joylash imkonini beruvchi funksiya"""
13avtolar=[] # salondagi avtolar uchun bo'sh ro'yxat
14while True:
15print("\nQuyidagi ma'lumotlarni kiriting",end='')
16kompaniya=input("Ishlab chiqaruvchi: ")
17model=input("Modeli: ")
18rangi=input("Rangi: ")
19korobka=input("Korobka: ")
20yili=input("Ishlab chiqarilgan yili: ")
21narhi=input("Narhi: ")
22#Foydalanuvchi kiritdan ma'lumotlardan avto_info yordamida
23#lug'at shakllantirib, har bir lug'atni ro'yxatga qo'shamiz:
24avtolar.append(avto_info(kompaniya, model, rangi, korobka, yili, narhi))
25# Yana avto qo'shish-qo'shmaslikni so'raymiz
26javob = input("Yana avto qo'shasizmi? (yes/no): ")
27if javob=='no':
28break
29return avtolar
30
31def info_print(avto_info):
32"""Avtomobillar haqida ma'lumotlar saqlangan lug'atni konsolga chiqaruvchi funksiya"""
33print(f"{avto_info['rang'].title()} {avto_info['kompaniya'].upper()} "
34f"{avto_info['model'].upper()}, {avto_info['korobka']} korobka, "
35f"{avto_info['yil']}-yil, {avto_info['narh']}$")
MODULNI CHAQIRIB OLISH
Modul ichidagi istalgan funksiyaga murojat qilish uchun import modul_nomi komandasidan foydalanamiz. Bunda modul ichidagi istalgan funksiyaga modul_nomi.funksiya_nomi() ko'rinishida murojat qilishimiz mumkin. Ya'ni avval modul nomi undan keyin esa nuqta qo'yilib, modul ichidagi funksiya nomi yoziladi.

MODULGA QISQA NOM BERISH


Yuqoridagi usul bilan modulni chaqirib olishda fayl nomi uzun bo'lsa bu o'ziga yarasha noqulayliklar tug'dirishi mumkin. Buning oldini olish uchun esa, modulni chaqirganda unga as operatori yordamida qisqa nom berishimiz, va modulga qisqa nom orqali murojat qilish mumkin.
4.iteratorlar,konteynerlar va sonlar
Iteratorlar 
Itaratorlar bilan ko‘rsatkichlar kabi ishlash mumkin. Ularga *, inkrement
dekrement operatorlarni qo‘llash mumkin. Iterator tipi sifatida xar xil 
konteynerlarda aniqlangan iterator tip elon qilinadi.
Itoratorlarning beshta tipi mavjud: 
1.Kiritish iteratorlar (input_iterator) tenglik, nomini o‘zgartirish va inkrementa 
operatsiyalarni qo‘llaydi. ==, !=, *i, ++i, i++, *i++ Kiritish iteratsiyasining maxsus xolati istream_iterator iborat. 
2. Chiqarish iteratorlar (output_iterator) o‘zlashtirish operatorning chap tarafidan 
imkon bo‘lgan isimning o‘zgartirish va inkrementa operatsiyalar qo‘llanadi. ++i, i++, *i=t, *i++=t 
Chiqarish iteratsiyasining maxsus xolati ostream_iterator. 
3. Bitta yo‘nalishdagi iteratorlar (forward_iterator) kiritish/chiqarish 
operatsiyalarning barchasini qo‘llaydi,bundan tashqari chegarasiz o‘zlashtirishning imkonini beradi. 
==, !=, =, *i, ++i, i++, *i++ 
4.Ikki yo‘nalishdagi iteratorlar (biderectional_iterator) forward-iteratorlarning 
barcha xususiyatlariga ega, bundan tashqari, konteynerni ikkita yo‘nalishi bo‘yicha 
o‘tish imkonini beradigan qo‘shimcha dekrementa (--i, i--, *i--) operatsiyasiga ega. 
5.Ixtiyoriy ruxsatga ega bo‘lgan iteratorlar (random_access_iterator) 
biderectional-iteratorlarning barcha xususiyatlariga ega, bundan tashqari 
solishtirish va manzil arifmetikasi operatsiyalarni qo‘llaydi. i+=n, i+n, i-=n, i-n, i1-i2, i[n], i1i2, i1>=i2 
Download 22,2 Kb.

Do'stlaringiz bilan baham:




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