1.5 Python негізгі стандартты модульдері
Модульдік тәсілге сәйкес бағдарламалау үлкен міндет бірнеше ұсақ
болып бөлінеді, олардың әрқайсысын (Идеалда) жеке модуль шешеді. Әр түрлі
әдістемелерде модуль өлшеміне әртүрлі шектеулер беріледі, алайда
бағдарламаның модульдік құрылымын құру кезінде модульдердің
композициясын құру маңызды, ол олардың арасындағы байланысты барынша
азайтуға мүмкіндік береді.
Өз элементтері арасында көптеген байланыстары бар сыныптар мен
функциялар жиынтығы бір модульде қисынды орналастыру болар еді. Тағы бір
пайдалы ескерту бар: модульдерді қайта жазудан гөрі пайдалану оңай болуы
керек. Бұл дегеніміз, модуль ыңғайлы интерфейс болуы керек: функциялар
жиынтығы, сыныптар және тұрақты, ол өз пайдаланушыларына ұсынады.
Python тілінде бір мәселеге арналған модульдер жиынтығын пакетке
қоюға болады. Мұндай пакеттің жақсы мысалы-XML пакеті, онда XML
өңдеудің әр түрлі аспектілеріне арналған модульдер жинақталған[3,9].
Python бағдарламасында модуль Модуль-нысан-модуль, Оның
атрибуттары модульде анықталған атаулар болып табылады:
>>> import datetime
>>> d1 = datetime.date(2020, 11, 20)
Бұл мысалда datetime модулі импортталады. Import операторының
жұмысы нәтижесінде ағымдағы атау кеңістігінде datetime атымен объект пайда
болады. Python бағдарламасына модульді қосу import операторының көмегімен
жүзеге асырылады . Оның екі нысаны бар : import және from-import:
import os
import pre as re
from sys import argv, environ
from string import *
22
Бірінші пішін көмегімен ағымдағы көріну аймағымен тек модуль
объектісіне сілтеме жасайтын атау ғана байланысады, ал екіншісін пайдаланған
кезде модуль объектілерінің көрсетілген аттары (немесе қолданылса, барлық
аттары * ) ағымдағы көріну аймағымен байланысады. Импорттау кезінде, as
арқылы элементтің атын өзгертуге болады. Бірінші жағдайда модуль атаулары
кеңістігі бөлек атауда қалады және модульден нақты атауына кіру үшін нүктені
қолдану қажет. Екінші жағдайда аттар ағымдағы модульде анықталғандай
қолданылады:
os.system("hello world" сөз тіркесінdir"hello world" сөз тіркесін)
digits = re.compile("hello world" сөз тіркесін\d+"hello world" сөз тіркесін)
print argv[0], environ
Модульді қайта импорттау әлдеқайда жылдам жүреді , себебі Модульдер
интерпретатормен кэштеледі. Жүктелген модульді reload функциясы арқылы
тағы да жүктеуге болады (мысалы, модуль дискіде өзгерсе)():
import mymodule
. . .
reload(mymodule)
Бірақ бұл жағдайда модульдің ескі нұсқасынан сыныптардың даналары
болып табылатын барлық объектілер өз мінез-құлқын өзгертпейді.
Python-да математикалық модуль math деп аталады, және оны қосу үшін,
import math командасын теру қажет.
Python ішіндегі кіріктірілген математикалық модуль математикалық,
тригонометриялық және логарифмдік операцияларды орындау үшін бірқатар
функцияларды ұсынады. Модульдің кейбір негізгі функциялары[3,5,9]:
- pow (num, pow): санды нөмірді қуат қуатын көтеру
- sqrt (num): санның шаршы түбірі
- ceil (num): санды ең жақын жоғарғы бүтін санға дейін дөңгелектеу
- floor (num): санды ең жақын ең кіші бүтін санға дейін дөңгелектеңіз
- factorial (num): факторлық сандар
- degrees (rad): радианнан градусқа дейін айналдыру
- radians (grad): дәрежелерден радианға дейін өзгеру
- cos (rad): радионың бұрышын косинус
- sin (rad): радианның бұрыштық синусасы
- tan (рад): радианға бұрыштық тангенс
- acos (rad): радиандықтардың бұрышының доғаның косинасы
- asin (rad): радианның бұрышының арксионы
- atan (rad): радианға бұрыштың арктангені
- log (n, base): база негізіндегі n санының логарифмі
- log10 (n): ондық логарифм
Бұл модуль бойынша кейбір мысалдарды қарастырайық:
>>> import math
>>> print(math.pi) – Пiкiр жазғандар: и саны 3.141592653589793
23
>>> print(math.e) – е саны 2.718281828459045
>>> print(math.sqrt(4)) sqrt – шаршы түбір 2.0
>>> print(math.sin(1)) – синус 0.8414709848078965
>>> print(math.cos(1)) – косинус 0.5403023058681398
>>> print(math.tan(0)) – тангенс 0.0
>>> print(math.ceil(3.4)) – ең жақын үлкен санға дөңгелектеу 4
>>> print(math.floor(1.6)) – төменге дөңгелектеу 1
>>> print(math.factorial(5)) – саның факториалын анықтау 120
random модуль кездейсоқ сандардың пайда болуын бақылайды. Оның
негізгі функциялары:
- random (): 0.0-ден 1.0-ге дейінгі кездейсоқ санды жасайды
- randint (): белгілі бір ауқымнан кездейсоқ санды қайтарады
- randrange (): сандардың белгілі бір жиынтығынан кездейсоқ санды
қайтарады
- shuffle (): тізімін араластырады
- choice (): кездейсоқ тізім элементін қайтарады
Кездейсоқ () функциясы 0,0-дан 1,0-ге дейін кездейсоқ өзгермелі нүкте
нөмірін қайтарады. Егер бізге үлкен ауқымнан нөмір қажет болса, 0-ден 100-ге
дейін айта беріңіз, онда кездейсоқ функцияның нәтижесін тиісінше 100-ге
көбейтуге болады.
import random
number = random.random()
print(number)
number = random.random() * 100
print(number)
Randint (min, max) функциясы екі және ең жоғары мәндердің арасындағы
кездейсоқ бүтіндігін қайтарады.
import random
number = random.randint(20, 35) # значение от 20 до 35
print(number)
Randrange () функциясы сандардың белгілі бір жиынтығынан кездейсоқ
бүтін санды қайтарады. Оның үш түрі бар:
- randrange (тоқтату): 0-ден қашықтыққа дейінгі диапазон кездейсоқ
шамасы шығарылатын сандардың жиынтығы ретінде пайдаланылады
- randrange (бастау, тоқтату): сандардың жиынтығы саннан басталатын
санға дейінгі диапазонды білдіреді
- randrange (бастау, тоқтату, қадам): сандардың жиынтығы саннан
басталатын санға дейінгі диапазонды білдіреді, әр қадам алдыңғы сатыдан
өзгеше
import random
number = random.randrange(10)
print(number)
number = random.randrange(2, 10) print(number)
24
number = random.randrange(2, 10, 2)
print(number)
Кездейсоқ модуліндегі тізімдермен жұмыс істеу үшін екі функция
анықталады: shuffle () функциясы тізімді кездейсоқ таңдайды және choice ()
функциясы тізімнен бір кездейсоқ элементті қайтарады:
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
random.shuffle(numbers)
print(numbers) # 1
random_number = random.choice(numbers)
print(random_number)
Python-да белгілі бір мәдениет үшін пішімдеу мәселесін шешу үшін
жергілікті модуль орнатылған.
Бірінші параметр функция қолданылатын санатты - сандарға,
валюталарға немесе екі нөмірге және валюталарға көрсетеді. Пiкiр жазғандар: араметр үшін
мән ретінде келесі тұрақты мәндердің біреуін жібере аламыз:
- LC_ALL: барлық санаттарға локализация қолданылады - сандарды,
валюталарды, күндерді және т.б. пішімдеу.
- LC_NUMERIC: санға локализацияны қолданады
- LC_MONETARY: валюталарға локализацияны қолданады
- LC_TIME: күн мен уақытқа локализацияны қолданады
- LC_CTYPE: таңбаларды жоғарғы немесе кіші әріпке аударғанда
оқшаулауды қолданады.
- LC_COLLIATE: жолдарды салыстыру кезінде жергілікті тілді қолданады
Сандар мен валюталарды пішімдеу үшін тікелей жергілікті модуль екі
функцияны қамтамасыз етеді:
- currency (num): пішім валютасы
- format (str, num): жолдың орнына толтырғыштың нөмірін ауыстырады
Келесі толтырғыштар пайдаланылады:
- d: бүтін сандар үшін
- f: өзгермелі нүкте нөмірлері үшін
- е: экспоненциалды белгілеу үшін
Достарыңызбен бөлісу: |