Бұл дәріс Python тіліндегі модульдер мен пакеттерді қамтиды.
Олар кодты файлдар түрінде ұйымдастырудың тәсілі және егер сіз Python көмегімен веб-қосымшаларды жасағыңыз келсе, өте маңызды.
Модульдер
Python-дағы модуль негізінен кейбір python коды бар файл болып табылады, оны біз кодты файлдарға ұйымдастыру үшін қолданамыз. Мұны супермаркеттегі бөлімдер сияқты елестетіп көріңіз. Супермаркетке барған кезде жемістер, көкөністер, тазартқыш заттар және т.б. үшін әртүрлі бөлімдер бар. Сіз барлық өнімдері бар бір бөлімді көрмейсіз.
Бұл бағдарламалауда бірдей тұжырымдама. Барлық кодты main.py ішіндегі барлық функциялар мен сыныптармен жазудың орнына, біз кодты бірнеше файлға бөлеміз. Әрбір файл модуль деп аталады. Осының арқасында біздің кодымыз жақсырақ ұйымдастырылған және құрылымдалған ғана емес, сонымен қатар кодты қайта пайдалану мүмкіндігіміз де бар. Оны мысал арқылы көрейік.
Салмақты фунттан килограммға және керісінше түрлендіру үшін екі функцияны анықтайық.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Енді біз осы екі функцияны алып, оларды «түрлендіргіштер» деп аталатын бөлек модульге орналастыра аламыз, содан кейін оны осы түрлендіргіш функцияларын қажет ететін кез келген бағдарламаға импорттауға болады. Мұны қалай жасау керектігін көрсетейін.
Жоба панелін ашайық және жобаны тінтуірдің оң жақ түймешігімен басып, жаңа файлды қосамыз. Біз бұл файлды «Converters.py» деп атаймыз.
Енді кодты әдепкі файлдан көшіріп, оны «Converters.py» ішіне қойыңыз.
Осы арқылы біз негізгі модульді тазаладық және ол әртүрлі функциялармен толтырылмаған. Біз сыныптармен көбірек функцияларды жазғанда, біз оларды сәйкес модульдерге орналастырамыз. Модульде барлық қатысты функциялар мен сыныптар болуы керек. Енді біз түрлендіргіштер модулін қолданба модуліне импорттағымыз келеді. Мұны істеу үшін жазыңыз import converters
жоғарғы жағында «.py» кеңейтімі жоқ.
Әдістерге ұқсас нүктелік операторды пайдалану арқылы модуль мүшелеріне қол жеткізе аламыз.
70 кг фунтқа айналдырайық:
Модульдерді импорттауға арналған тағы бір синтаксис бар. Бүкіл модульді импорттаудың орнына, біз сол модульден нақты функцияларды импорттай аламыз. тере аламыз from Converters import
және қолжетімді функциялар тізімін көрсету үшін «control + space пернелерін басыңыз. Осы арқылы біз бұл функцияны тікелей шақыра аламыз.
жаттығу
Міне сіздің жаттығуыңыз.
Бұл біз талқылаған лекциядағы жаттығуға қатысты «ілмектер үшінМұнда біз тізімдегі ең үлкен санды табу үшін бағдарлама жаздық
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Бұл кодта қазір ұйым жоқ. Бізде ешқандай функциялар немесе модульдер жоқ және бағдарлама бір файлда жазылған. Бұл шағын бағдарламалар үшін жақсы, бірақ сіздің бағдарламаларыңыз өскен сайын кодты сыныптар мен модульдерге дұрыс ұйымдастыруыңыз керек. Сондықтан, осы жаттығудың бір бөлігі ретінде мен сізге функция жазуды қалаймын, оны шақырыңыз find_max
. Бұл функция тізімді алып, сол тізімдегі ең үлкен санды қайтаруы керек. Содан кейін жалғастырыңыз және бұл функцияны бөлек модульге салыңыз, оны осы жерден шығарып, деп аталатын модульге қойыңыз utils
. Бұл модульде көптеген қызметтік функциялар болуы керек. импорттау utils
модульді ағымдағы модульге енгізіп, қоңырау шалыңыз find_max
функциясы. Соңында нәтижені алыңыз және оны терминалға басып шығарыңыз.
Бұл жаттығу аздап қиын, бірақ оңай орындалады.
шешім
Функцияны анықтаудан бастаңыз find_max
және сандар деп аталатын параметрді қосыңыз. Бұл функцияның ішіне тізімдегі ең үлкен санды табу алгоритмін жазыңыз.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Бұл кодты модуль ретінде «utils.py» файлында сақтаңыз.
Негізгі бағдарламамызға оралсақ, модульді екі синтаксистің кез келгені бойынша импорттаңыз және жай ғана логиканы орындаңыз.
Бір нәрсеге назар аударғым келеді, бұл бұзылған max
. Оның себебі - max
Python-да орнатылған функция және біз оны қайта анықтаймыз. Ендеше, бұл елден ескерту Python компиляторы біз енді max мәнін оның кірістірілген функциясы ретінде пайдалана алмаймыз.
Python-да кірістірілген модульдер
Python электрондық поштаны жіберу, күн мен уақытпен жұмыс істеу, кездейсоқ мәндер мен құпия сөздерді жасау және т.б. сияқты жалпы тапсырмаларға арналған бірнеше модульдерден тұратын стандартты кітапханамен бірге келеді. Python-да қазірдің өзінде орнатылған көптеген модульдер бар, бұл бізде қайта пайдалануға болатын көптеген функционалдық мүмкіндіктер бар дегенді білдіреді. Сіз бұл модульдерді таба аласыз Мұнда.
пакеттер
Пакеттер негізінен модульдердің үстіне кодты ұйымдастырудың тағы бір тәсілі болып табылады. Нақты жоба жүздеген, тіпті мыңдаған модульдерден тұруы мүмкін және уақыт өте келе біздің каталог көптеген файлдарға толы болады. Сондықтан, пакетті бірнеше модульдер үшін контейнерге айналдыратын пакеттің ішінде байланысты модульдерді ұйымдастыру жақсы әдіс болып табылады.
Жобаға жаңа каталог қосылады және барлық қатысты модульдер сол каталогқа қосылады. Мысал ретінде сауда орталығын алайық. Сауда орталығында ерлерге, әйелдерге және балаларға арналған киім-кешектерге арналған пакеттер сияқты әртүрлі бөлімдер бар. Әр бөлімде аяқ киім, футболкалар және курткалар сияқты өнімдердің әртүрлі түрлеріне арналған әртүрлі аймақтар бар. Бұларды модульдер ретінде қарастырыңыз.
Келіңіздер, Python-да бумаларды қалай жасау және пайдалану керектігін көрейік.
Алдымен жоба панелінен жаңа каталог қосыңыз. Оны «электрондық коммерция» деп атаймыз. Бұл пакетте электрондық коммерция қолданбасына қатысты барлық модульдер болады.
Бұл әлі де бос каталог және оны бумаға түрлендіру үшін біз онда арнайы файл жасауымыз керек. Осы каталогқа жаңа python файлын қосыңыз және бұл файлды «__init__» деп атаңыз. Бұл Python тіліндегі арнайы конвенция және Python аудармашысы каталогта осындай аты бар файлды көргенде, ол бұл каталогты бума ретінде қарастырады.
Бізде пакетті жасаудың балама және қысқа әдісі де бар. Жоба тақтасын тінтуірдің оң жақ түймешігімен басып, тізімнен Python бумасын жасаңыз. Оны «электрондық коммерция» деп атаңыз және бәрі де солай. Ол автоматты түрде «__init__» деп аталатын Python файлымен каталог жасайды.
Енді пакетте модуль жасап, оны «жөнелту» деп атаймыз. Бұл модульде тасымалдау құнын есептеу үшін қарапайым функцияны жасайық.
def calc_shipping():
print("calc_shipping")
Бұл функцияға біздің негізгі модульде қол жеткізу үшін біз оған электрондық коммерция пакеті арқылы қол жеткізуіміз керек. Бұл модульді импорттаудың екі әдісі бар.
Бірінші әдісте біз бүкіл модульді импорттай аламыз, содан кейін келесідей функцияны дербес шақыра аламыз:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Дегенмен, бұл тәсілмен функциялардың бірін осы модульге шақыру оны префикспен қоюды талап етеді eCommerce.shipping.
Бұл өте егжей-тегжейлі. Сонымен, пакеттермен жұмыс істегенде біз жиі екінші тәсілді қолданамыз және пайдаланамыз from
өтініш.
from eCommerce.shipping import calc_shipping
calc_shipping()
Бір модульде бірнеше функциялар болса, олардың арасында үтірлерді қолдану арқылы олардың барлығын бір жолға импорттай аласыз. Біздің тасымалдау модулінде салықты есептеудің тағы бір функциясы бар делік. Ол келесідей импортталады:
from eCommerce.shipping import calc_shipping, calc_tax
Сондай-ақ жеке модульдерді импорттауға және функцияларды бағдарламаның кейінгі кезеңінде шақыруға қалдыруға болады. Модуль жеткізілімін импорттайық, содан кейін функцияны шақыру үшін нүкте операторын қолданайық calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Аяқтау!
Пакеттер мен модульдер Python тілінде өте маңызды. Әсіресе, құрылыс үшін қолданылатын Django сияқты фреймворкпен жұмыс істегіңіз келсе веб-қосымшалар Python көмегімен. Біз Джангоны басқа Python курсында қарастырамыз.
Бұл осы сериядағы соңғы дәстүрлі дәріс болды. Келесі дәріс әдеттегі форматымыздан ауытқиды және біз Python-да кейбір маңызды пайдалану жағдайларын үйренеміз. Бұл осы серияның аяқталуын білдіреді және біз келесі Python сериясына көшеміз. Ол үшін хабардар болыңыз.
пікір қалдыру