0 / 1
Барлық 400 000 материалдарды тегін жүктеу үшін
Ұнаған тарифті таңдаңыз
Айлық
Жылдық
1 - күндік
Танысу 690 ₸ / 1 күнге
Таңдау
UstazTilegi AI - ЖИ арқылы тегін ҚМЖ, БЖБ, ТЖБ, тест, презентация, авторлық бағдарлама т.б. 10 материал жасау
Материалдар бөлімі - Барлық 400 000 материалдарды тегін 30 материал жүктеу
Аттестация ПББ тестеріне доступ аласыз шексіз
Көрнекілік бөлімі - 10 000 астам көрнекіліктерді жүктеу Күніне 2 көрнекілік жүктеу
Жеке ҚМЖ бөлімінде - дайын ҚМЖ-ларды, презентацияларды жүктеу5 файлды тегін жүктеу
Олимпиада, турнир, байқауларға 50% жеңілдік
1 - айлық
Стандарт
2990 ₸ / айына
UstazTilegi AI - ЖИ арқылы тегін ҚМЖ, БЖБ, ТЖБ, тест, презентация, авторлық бағдарлама т.б. жасау 30 материал жасау
Материалдар бөлімі - Барлық 400 000 материалдарды тегін 900 материал жүктеу
Аттестация ПББ тестеріне доступ аласыз шексіз
Көрнекілік бөлімі - 10 000 астам көрнекіліктерді жүктеу30 көрнекілік жүктеу
Жеке ҚМЖ бөлімінде - дайын ҚМЖ-ларды, презентацияларды жүктеу 150 файлды тегін жүктеу
Жинақталған ҚМЖ бөлімінде 10 файлды тегін жүктеу
Олимпиада, турнир, байқауларға 50% жеңілдік
Іс-шаралар (мини-курстар, семинарлар, конференциялар) тегін қатысу
1 - айлық
Шебер 7990 ₸ / айына
Таңдау
UstazTilegi AI - ЖИ арқылы тегін ҚМЖ, БЖБ, ТЖБ, тест, презентация, авторлық бағдарлама т.б. жасау 150 материал жасау
Материалдар бөлімі - Барлық 400 000 материалдарды тегін 900 материал жүктеу
Аттестация ПББ тестеріне доступ аласыз шексіз
Көрнекілік бөлімі - 10 000 астам көрнекіліктерді жүктеу90 көрнекілік жүктеу
Жеке ҚМЖ бөлімінде - дайын ҚМЖ-ларды, презентацияларды жүктеу 300 файлды тегін жүктеу
Жинақталған ҚМЖ бөлімінде 50 файлды тегін жүктеу
Олимпиада, турнир, байқауларға 50% жеңілдік
Іс-шаралар (мини-курстар, семинарлар, конференциялар) тегін қатысу
Назар аударыңыз!
Сіз барлық мүмкіндікті қолдандыңыз.
Қалған материалдарды ертең жүктей аласыз.
Ок
Материалдың қысқаша нұсқасы
PYTHON ТІЛІ НЕГІЗДЕРІ
(әдістемелік құрал)
МАЗМҰНЫ
Алғы сөз.......................................................................................................... 3
Python тілінде программалауга кіріспе........................................................ 3
Python багдарламасын орнату....................................................................... 5
Программалық файлдарды қолдану............................................................. 6
Python тілінің негізгі ұгымдары.................................................................... 6
Операторлар мен өрнектер...........................................................................10
Функциялар....................................................................................................14
Python тілінде программа жазуға жаттыгу................................................. 17
Сөздіктер құру............................................................................................... 19
Файлдармен жұмыс істеу..............................................................................20
if, else инструкциясы..................................................................................... 21
while циклі...................................................................................................... 23
Енгізу/шығару................................................................................................ 26
Python тіліндегі объектіге бағытталған программалау.............................. 27
Web-сайтты Django кітапханасы негізінде Python тілінде құру............... 33
Тапсырмалар және оларды орындау әдістері..............................................43
СӨЖ орындауга арналған тапсырмалар......................................................44
Әдебиеттер тізімі............................................................................................46
2
Алғы сөз
Қазіргі уақытта Python қолданбалы программалық жасақтамаларды жасау барысында
(мысалы, linux-утилиттерді yum, pirut, system-config-*, ІМ-клиент Gajim және т.б.), web-қосымшаларды жасауда (қуатты Zope Application-сервері және соның негізінде жасалған CMS
Plone, ал Орталықтандырыпған барлау басқармасы сайты, Plones, Django, TurboGears қосымшаларын жылдам жасауға арналған фреймворктер соның негізінде жұмыс істейді), көптеген
ойындарда, OpenOffice.org, Blender 3d редакторында, Postgre деректер қорында кірістірілетін
скриптілік тіл ретінде пайдаланылады, ғылыми есептеулерде (мысалы, MatLab сияқты
пакеттермен тең түсетін SciPy және numPy, графиктерді салатын PyPlot пакетінде есептеу)
кеңінен қолданылады.
Python – меңгеруге жеңіл программалау тілі. Деректер құрылымдарын жоғары деңгейде
тиімді етіп көрсетуге мүмкіндік береді, объектілі-бағытталған программалау тіліне үйренудің
тиімді жолы. Синтаксисі мен динамикалық типтендіру, сонымен катар интрепретаторлы
болуы әртүрлі саланың қосымшаларын көптеген платформаларда жылдам жасауға мүмкіндік
береді. Мүнда қарапайым командалық скриптерді де, күрделі үстелдік және веб- қосымшалар
жасауға да болады. Сонымен бір комплектіде өте бай стандартты кітапхана беріледі. Онда
мәтінді өңдеудің күрделі құралдары, шифрлеу, файлдармен жұмыс, интернет арқылы
деректер алмасу және т.б. көптеген күрделі құрал-саймандар бар.
Оқу-әдістемелік құралда Python синтаксисі, ол қолдайтын деректер типі, кластармен,
объектілермен жұмыс істейтін басқару құралдары сипатталған.
¥сынылып отырған құралда Python тілінің негізгі ұғымдары – өрнек, оператор, функция,
айнымалы, сан, жол, тізім, логикалық шамалар, типтерді түрлендіру, кодтың орындалуын
басқару, блок, шартты өрнек, цикл, шартты цикл, тізім циклі, кластар, объектілер,
түсініктемелер, модуль, пакеттер, импорттау, стандартты кітапханалар, сыртқы кітапханалар,
Notepad ++ мәтіндік редакторы ұғымдары мысалдар негізінде талданған.
Теориялық материалмен бірге тәжірибелік сабақтарды жүргізуге арналған программа
мысалдары, интербелсенді интернет қорлар т.б. берілген.
СӨЖ орындауға арналған тапсырмапар бейнесабақтарға сілтеме жасай отырып
құрастырылған.
Әдебиеттер тізімі интернет-қорлармен бірге ұсынылып отыр. Студенттің өз бетімен
программа құрып үйренуіне үлкен мән берілген – тапсырмаларды орындау туралы нақгы
әдістемелік нүсқаулар берілген және қажетті түстарында программаны орындау қадамдары
мысалдармен, оларды орындағаннан соң экранға шығатын нәтижені көрсету арқылы
ұғындырылған.
Python тілінде программалауға кіріспе
Python тілі туралы оның негізін қалаушы голландиялық программалаушы Гвидо ван
Россум былай дейді:
"Python – интерпретацияланатын, объектіге бағытталған программалаудың жоғары
деңгейдегі динамикалы семантикасы бар тіл. Кірістірілген жоғары деңгейлі құрылымдар
динамикалық типтендірумен және байланыстырумен қатар тілді қосымшаларды жылдам
программалау үшін қызықты етіп көрсетеді (RAD, Rapid Application Development). Сонымен
қатар, оны программалар құрамдастарын байланыстыратын сценарийлік тіл ретінде пайдалануға болады. Python синтаксисі өте қарапайым, онда кодты оқу түсінікті болуына мән
беріледі, сол арқылы программалық өнімді құрастыру шығыны азаяды. Python ішінде
3
модульдер мен пакеттерге қолдау жасау қарастырылған. Кодты қайталап қолдануға болады.
Python интерпретаторы және көлемді стандарт кітапханалар бастапқы және орындалатын код
ретінде барлық негізгі платформаларда қолжетімді және тегін таратыла алады.»
Python – программалаудың әмбебап тілі. Оның артықшылықтарымен бірге кемшіліктері
де бар, сол сияқты қолданылу аясы да анықталған. Python-мен қатар көптеген міндеттерді
шешуге көмек беретін өте үлкен көлемді стандарт™ кітапхана ұсынылады. Интернетте
әртүрлі сала бойынша Python-ra арналған сапалы кітапханалар саны көп: мәтіндерді өңдеу мен
Интернет-технологиялар, суреттер мен бейнелерді өңдеу, қосымшаларды жасайтын механизмдер, деректер қорына қолжтемділікті қамтамасыз ететін, ғыпыми есептеулерге арналған
пакеттер, графикалық интерфейсті құру кітапханалары және т.б. Сонымен қатар, С, C++ (және
Java) тілдеріне интерпретаторды кірістірудің (embedding) қарапайым құралдары және сол
тілдерде жазылған программаларды Python тіліне кірістіретін құралдар да бар. Python тілі
программалаудың бірнеше парадигмасын қолдайды: императивтік (процедуралық, құрылымдық, модульдік көзқарастар), объектілі бағытталған және функционалды программалау.
Java платформасындағы және С компиляторы бар 32 және 64 биттік платформалардың
барлығына да қолжетімді.
C/C++, Java, Visual Basic, С#-тан басқа программалау тілдері қолданылмайтындай
көрінеді. Бірақ осы құралды оқи отырып, Python тілінің жақтаушылары да пайда болатынына
сенуге болады. Тілдің сипаттамасы. Бұл құрал басқа нұсқаулықтарды қайталауды мақсат етіп
отырған жоқ. Әртүрлі қырынан қарай отырып, нақты программалауға үйретуді көздеп отыр.
Программаны құру дегеніміз – программалаушы мен компьютер арасындағы коммуникация,
соның нәтижесінде программалаушы компьютерге белгілі бір іс-әрекеттерді орындауға
бұйрық береді. Іс-әрекеттерді программалаушының түсінуі – семантика деп аталады. Осы
магынаны синтаксис көмегімен жазу қажет. Берілген ақпаратқа интерпретатордың орындайтын амалы прагматика деп аталады. Программаны жазған кезде осы тізбектің ішінде іркілу
болмау керек.
Синтаксис – толығымен формалданған бөлік: оны синтаксистік диаграммалар тілінде
(анықтамалық нұсқаулықтар сияқты) сипаттауға болады. Интерпретатор синтаксис бойынша
жазылған «бұйрықтарды» езіндегі алгоритмге сәйкес іс-әрекеттерге айналдырады. Семантика
ғана формалды емес құрамдас болып қала береді. Мағынаны формалды сипаттауға ауысгырған кезде программалаудың ең қиын
күрделілігі туындайды. Python синтаксисі
программалаушының мәселесін интерпретатордың ұғынуына жақындатады. Python тілінің
тарихына қысқаша тоқталсақ, 1991 жылы Гвидо ван Россум (Guido van Rossum) бірнеше желіге таратылатын Амеба операциялық жүйесін жасау барысында осы тілді құрастырды. Жүйелі
сын-тегеуріндерге жауап бере алатын кеңейтілген тіл кажет болды. Негізі ретінде ABC және
Модула-3 алынды. Тілдің атауы ретінде жыланның аты емес, ВВС телеарнасынан көрсетілетін
«Летающий цирк Монти-Пайтона» комедиялық сериалы алынды. Содан бері Гвидо ван
Россум жұмыс істеген ұйымдардың барлығында да Python тілі қолданыла бастады. Қазір тілді
дамытуға программалаушылардың қауымдастығы да кірісті.
4
Python программасын орнату
Windows-қа орнату
http://www.python.org/download/ бетінен программаның соңғы нүсқасын жүктеп алып,
басқа программалар сняқты орнатуға болады. Кейбір опционалдық программаларды өшіру
ұсынылса да, олардың ешқайсысын өшірудің қажеті жоқ. Олардың кейбірі, әсіресе IDLE қажет
болып қалуы мүмкін.
Windows командалық жолынан Python-ды қолдану үшін, яғни DOS-ты шақыру үшін
PATH айнымалысын қажетті тәртіппен орнату керек.
Windows 2000, ХР, 2003 үшін «Басқару панелі» «Жүйе» «Қосымша» «Айнымалы
орталар» деген жолмен жүру керек. «Жүйелі айнымалылар» бөліміндегі PATH айнымалысын
басу керек. Осыдан кейін «Редакторлау» таңдап, ондағы жазудың соңына ;C:\Python33 деп
жазып аяктаңыз.
Windows 7 үшін:
1. Жұмыс үстеліндегі «Компьютер» батырмасына тышқанның оң жағын басыңыз және
«Қасиеттері» таңдаңыз немесе «Бастау» «Басқару панелі» «Жүйе және қауіпсіздік»
«Жүйе» басыңыз. «Жүйенің қосымша параметрлері» сол жақтан басыңыз, содан кейін
«Қосымша» ішкі бетін (вкладкасын) басыңыз. Төменірек «Айнымалы орталар»
батырмасын басыңыз және «Жүйелі айнымалылар» бөлімінің ішінен PATH айнымалысын
табыңыз. Оны таңдап, «Редакциялау» батырмасын басыңыз.
2. «Айнымалының мәні» өрісіндегі жолдың соңына ;C:\Python33 деп жазыңыз.
3. Егер айнымалының мәні %SystemRoot%\system32; болса, енді ол
%SystemRoot%\system32;C:\Python33 түрінде болады.
4. «ОК» басу керек, қайта жүктеудің қажеті жоқ.
Интерпретатордың командалық жолын қолдану
Терминал терезесін ашып, Python интерпретаторын іске қосыңыз: python3 командасын
теріп, Enter-ді теріңіз.
Windows-ті қолданушылар PATH айнымалысын дұрыс орнатқан жағдайда, командалық
жолдан интерпретаторды іске қоса алады. Windows-тың командалық жолын ашу үшін
«Бастау» менюінен «Орындау...» басу керек. Пайда болған командалық жолдан «cmd» теріп,
Enter-ді басу керек. DOS командалық жолында python-мен жұмыс істеуге болады.
IDLE қолданған жағдайда, «Бастау» «Программалар» «Python 3.0» «IDLE (Python
GUI)».
python3-тi іске қосқан соң, >>> белгісінің жол басында түрғанын көреміз. Бұл Python
интерпретаторының командалық жолы деп аталады.
Енді print('Hello World') теріңіз және Enter батырмасын басыңыз. Нәтижесінде “Hello
World” пайда болады.
Python жұмыс нәтижелерін бірден экранға шығарады. Сонымен бірге, бастапқыда Komodo
Edit программасының көмегіне жүгінген жөн. Ол Windows, Mac OS X и GNU/Linux программаларымен істеуге арналған.
Редакорды таңдау кезінде мынаған мән берген жөн. Интерпретатордың командалық
жолында әр кез сайын программаны тере алмайтын болғандықтан, және файлдарды сақтау,
қайтадан іске қосу үшін программа файлдарымен жұмыс істейтін редактор қажет.
Программаны терген кезде қажетті элементтер әртүрлі түске боялған, орындау барысында
қайта-қайта түзету жасауға мүмкіндік беретін Komodo Edit редакторы бар.
Windows-ты пайдаланатын болсаңыз, Блокнотты қолдану қиындық тудырады, онда
синтаксисті жарықтандыру функциясы жоқ, автоматты түрде азат жолдар қоя алмайды, ал
Komodo Edit программасында бұлардың барлығы бар және автоматты түрде қойылады.
5
Программалық файлдарды қолдану
Редакторды іске қосып, келесі программаны енгізіңіз және оны helloworld.py деген атпен
сақтаңыз.
Егер Komodo Edit қолдансаңыз, «Файл» «Жаңа» «Жаңа файл» таңдаңыз, келесі
жолды енгізіңіз:
print('Бүгін қай күн?')
Komodo Edit-те «Файл» «Сақтау» менюін басып, файлды сақтаңыз.
Файлды өзіңіз білетін кез келген бумаға сақтауыңызға болады немесе Python-ды:
Windows-та С:\\ру
GNU/Linux-та /tmp/py
Mac OS Х-та /tmp/py бумаларында сақтауға болады.
Бума құру үшін терминалдағы mkdir бұйрығын қолдануға болады. Мысалы,
mkdir /tmp/py
.ру файл кеңейтілімін көрсетуді ұмытпау аса маңызды. Мысалы. «file.ру».
Komodo Edit программасында «Инструменттер» «Бастау команды» басыңыз және
python3 деп жазыңыз.
helloworld.py және «Орындау» басыңыз. Төмендегі скриншоттағыдай экран пайда болуы
керек.
Сонда да программаны Komodo Edit ішінде редакциялаған тиімді, ал іске қосу үшін
терминалға жіберген жөн:
1. Windows-қа орнату тарауында көрсетілгендей терминалды ашыңыз.
2. Файлды сақғаған каталогыңызға өтіңіз. Мысалы, cd /tmp/ру.
3. python3 helloworld.py бұйрығын енгізе отырып, бағдараламаны іске қосыңыз.
Программаны шығару төмендегідей болады:
$ python3 helloworld.py
Бүгін қай күн?
Осындай нәтижеге келсеңіз, Python тіліндегі алғаш программаны іске қостыңыз. Python
регистрге сезімтал келеді: print және бас әріппен жазылған Print екеуінің айырмашылығы бар.
Бірінші символдың алдында бос орын немесе табуляция символы жоқ.
Python программасы өрнектерден құралған. Біз құрған алғашқы программада бір ғана
өрнек бар, ол өрнек көмегімен print функциясын шақырамыз.
Python тілінің негізгі үғымдары
Python тілінде деректер ретінде сандар, жол, тізім, кортеж (өзгертуге болмайтын тізім),
сөздік (элементтеріне индекс қойылған тізім), логикалық өлшемдер т.б. қолданылады.
Литералды константалар. Литералды константа 5, 1.23, 9.25е-3 сияқты сандар; 'Бұл жол'
немесе "It's a string!" сияқты сөйлемдер болуы мүмкін. Олар тұрақты, бір ғана мағынасы бар
болғандықтан, литерал шамалар деп аталады.
Сандар. Python-да үш түрлі сандар бар: бүтін, жылжымалы нүктелі және комплекс
сандар.
• Бүтін санға мысал: 2.
• Жылжымалы нүктесі бар санға мысал: 3.23 және 52.3Е-4. Е белгісі 10 санының дәрежесін
көрсетеді.
6
• Комплекс сандарға мысал: (-5+4j) және (2.3 – 4.6j)
Ескерту: ‘long int’ (ұзын бүтін сан) деген жеке тип жоқ. Бүтін санның ұзындығы еркін
түрде болады.
Қосу, азайту, көбейту және бөлу амалдары басқа тілдердегідей (мысалы, С, Java) жұмыс
істейді, бірақ дәрежеге шығару ** амалы арқылы өзгеше орындалады. Өрнектерді топтастыру
үшін жақшаны қолдануға болады. Төмендегі айнымалылардың мәнін өзгертіп, нәтижені көр.
Жақша, бірнеше сандар арқылы өрнектер жазып үйрен және экранға шығар.
a = 24 + 2 #
b = 2 - 20 #
c = 12 * 6 #
d = 12/1.2 #
e = 34**2
#
print("a-->",
print("b-->",
print("c-->",
print("d-->",
print("e-->",
Қосу
Азайту
Көбейту
Бөлу
Дәрежелеу
a)
b)
c)
d)
e)
a--> 26
b--> -18
c--> 72
d--> 10.0
e--> 1156
Сөз тіркестері. Сөз тіркестері немесе тіркестер (string – строка) дегеніміз – бірбірімен жалғасқан символдар тізбегі. Көбінесе олар сөздер жиынынан тұрады. Мұндағы
Unicode стандарты бойынша жазылатын тіркестер кез келген тілдегі (қытай, араб, жапон,
т.б.) сөздер мен сөйлемдерді таңбалауға мүмкіндік береді.
Ескерту: Python 3 программасында ASCII кодындағы таңбалар жоқ, өйткені ASCII
таңбалары Unicode құрамына енгізілен. Егер ASCII кодындағы сөзді жазу керек болатын болса,
str.encode("ascii") командасын қолдану керек. Жалпы мұнда келісім бойынша символдардың
бәрі де Unicode арқылы беріледі.
Тіркестер (қысқаша str) кез келген мәтіндік ақпаратты жазу үшін қажет. Олар бір-біріне
жалғасқан символдар тізбегі болып келеді. Python программалау тіліндегі тіркестердің
барлығы да Unicode арқылы кодталған символдар болып табылады. Тіркестерге қолданылған
операциялардың ешқайсысы да бастапқы берілген тіркесті өзгертпеуі тиіс. Тіркестер қостырнақша немесе жалқы тырнақшамен (апостроф) қоршалып жазылады ("тіркескен символдар" немесе 'символдар тіркестері'). Тіркестерді өңдейтін операциялар нәтижесінде жаңа
тіркестер пайда болады, бірақ бастапқы берілген тіркестер тұрақты түрде сақталуы тиіс,
тіркес құрылған соң, оны өзгертуге болмайды. Егер оларды өңдеп өзгертетін болсақ, басқа
атпен сақтау қажет.
Тіркестерді тырнақшалармен қоршап жазу кезінде олардың ішіндегі бос орындар мен
табуляция белгілері де бір символ болып саналады. Қос тырнақшалар мен жалқы тырнақшалар
бірдей мағынада қолданылады. Мысалы, "What's your name?"
Python тілінде үшем жалқы тырнақшалар (''') да қолданылады. Олар бірнеше жолдардан
тұратын түсініктемелердің (комментарийлердің) алды-артына қойылады.
Тіркестерді біріктіру. Егер екі тіркес жалғаса қатар жазылатын болса, Python оларды
автоматты түрде біріктіріп жібереді. Мысалы, 'What\'s ' 'your name?' автоматты түрде "What's
your name?" түріне айналады. C/C++ тілдерінде программа жасайтындар Python тілінде char
(символ) жеке мәліметтер түрінің жоқ екеніне назар аударуы тиіс. Оған аса қажеттілік те
туындамайды. Реrl/РНР тілдерінде программа жасайтындар жалқы тырнақшамен қоршалып
жазылатын тіркес пен қос тырнақша арқылы жазылған тіркестер арасында ешқандай айырмашылық жоқ екенін есте сақтағаны жөн.
format әдісі. Кейде қандай да бір мәліметтер негізінде жаңа тіркестер құрастыру керек
болып жатады, ондай жағдайда format әдісі (функциясы) қолданылады.
Келесі тіркестерді теріп, оларды str_format.py файлына жазып сақтаңыз:
7
age = 19
name = 'Азат'
print('{0} биыл {1} жаста.'. format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Бұл программа нәтижесі мынадай түрде болады:
Азат биыл 19 жаста.
Енді Азат Python тілінде программалауды үйреніп жүр.
Бұл программа қалай жұмыс істейді:
Тіркес ішіне қандай да бір жаңа символдарды енгізуімізге болады, ол үшін format әдісі
қолданылады. Жоғарыда келтірілген мысалдағы {0} деген жазу үтірден кейінгі алғашқы
тұрған name айнымалысы мәнін шығаруды көрсетеді, ол format әдісінің бірінші аргументі
болып табылады. Соған ұқсас, {1} деген екінші жазу age айнымалысына сәйкес келеді де, ол
format әдісінін екінші аргументі болып табылады. Python санауды 0-ден бастайды, сондықтан,
бірінші позиция – 0 нөмірі, екінші – 1 нөмірі және т.с.с. болып жалғаса береді.
Үш тіркесті де бірден біріктіре салуға болатын еді:
name + ' биыл ' + str(age) + ' ' жаста екен.',
бірақ мұндай жағдайларда қателесіп кетуге болады. Жалпы, format әдісі арқылы тіркестерді
түрлендіру автоматты түрде іске асады. Оған қоса, format әдісін қолданғанда айнымалыларға
тиіспей шығарылатын тіркестік мәліметтерді (мәтіндерді) өзгертіп отыру мүмкіндігі бар.
Сандарды жоғарыдағыдай түрде жазу міндетті емес. Оларды басқаша да жазуға болар еді:
age = 19
name = 'Азат'
print('{} биыл {} жаста.'.format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Мұның да нәтижесі алдыңғыдай болады. Сонымен, format әдісі арқылы әрбір аргументтің
мәнін өзіміз қалаған орынға қоя алады екенбіз.
Айнымалылар. Айнымалылар – компьютер жадындағы белгілі бір аймақ болғандықтан,
оларға қол жеткізе білу керек. Сондықтан айнымалыларға ат қойылады. Айнымалының мәні
әртүрлі болуы мүмкін. Біз қарастырған өрнектер мәнді бір ғана әрекет нәтижесінде есептеп
берген еді. Алайда көптеген жағдайда бір мезгілде бірнеше өрнектерді орындау керек болады.
Немесе бір өрнекте орындалған мән үнемі экран бетіне шығарыла бермеуі мүмкін. Ол басқа
өрнектің ішінде басқа мәнді есептеу үшін де қолданыла береді. Осындай жағдайда алдағы
есептеулерге қажетті мәндерді сақтау қажеттілігі туындайды. Ол мәндерді біз айнымалылар
көмегімен аты бар бірегей (уникалды) жады ұяшықтары ретінде қарастыра аламыз.
Айнымалыға кез келген мәнді беруге болады, кейінірек оларды компьютер жадынан шығарып
алып, кейінгі есептеулерде пайдалана аламыз. Айнымалы бір ғана мәнді сақтай алады. Егер
айнымалыға басқа мәнді меншіктейтін болсақ, онда алдыңғы мән жоғалып кетеді.
Айнымалыны жариялайық:
а = 10
Айнымалыны жариялаған кезде экранға ешқандай нәтиже шықпайды, өйткені меншіктеу
операторы нәтижені қайтармайды. Айнымалыны жарияламастан, оған мән беретін болсақ,
қате туралы ескерту аламыз.
Айнымалыға өрнектің нәтижесін де меншіктеуімізге болады:
b=2+3/4
немесе функциядан алынған мәнді де бере аламыз:
8
с = somefunction (1,2, 345)
Бір өрнекте бір мезгілде бірнеше айнымалыны пайдалану мысалы:
a,b,c = 10, 2 + 3 / 4, somefunсtion (1,2, 345).
Жарияланатын айнымалы мен олардың мәндері үтір арқылы бөлінеді. Бірінші айнымалыға бірінші мән, екінші айнымалыға екінші мән, т.с.с. болып меншіктеледі.
Қажет емес айнымалыларды del арқылы жоюға болады. Осы сөзден кейін жойылатын
айнымалыларды үтір арқылы тізбектеп жазуға болады. Мысалы:
del a, b
Мұнда а және b айнымалыларын жоямыз. Программада айнымалының саны көп бола
береді. Бірақ олардың аты бірін-бірі қайталамауы керек. Олар компьютер жадында белгілі бір
орын алатындықтан, қажеттен тыс артық айнымалыны пайдаланудың қажеті де жоқ.
Идентификатор аттары. Айнымалы атаулары идентификатордың бір түрі ғана. Идентификатор дегеніміз – бір нәрсені (айнымалыны, функцияны, т.с.с.) белгілеу үшін берілетін ат.
Оларға ат бергенде келесі ережелерді сақтаған жөн:
идентификатордың бірінші символы әліпбидегі әріп (жоғарғы не төменгі регистрдегі
ASCII немесе Unicode символы) немесе астын сызу белгісі ("_") болуы тиіс.
идентификатордың қалған бөлігі символдары әліпбидегі әріптерден, астын сызу
белгісінен, 1 мен 9 аралығындағы сандардан құрала алады.
идентификатор аты регистрге сезімтал келеді. Мысалы, myname және MyName екеуі
бірдей емес.
идентификатор аты мынадай түрлерде жазыла алады: і, _my name, name_23, а1b2_сЗ,
Aika12, т.с.с.
идентификатор аты мынадай түрлерде жазыла алмайды: 2things – цифрдан
басталмайды, Beke 3m – мұнда бос орындар бар, "my>b2" – тырнақшаға (") алынбайды
және ">" символын да қолдана алмаймыз.
Мәлімет түрлері. Айнымалылар мәлімет түрлері деп аталатын әртүрлі типтегі мәндерді
сақтай алады. Мәліметтің негізгі түрлері – сандар мен сөз тіркестері. Кластар көмегімен
өзіндік типтерді қалай құруға болатыны кейіннен айтылады.
Объектілер. Python ортасында берілгендердің бәрін де жалпы, олардың кең мағынасында,
объектілер ретінде қарастырады. Python программасында сандар, тіркестер, функциялар –
барлығы да объект болады. Python-да программа жазу жолы:
1. Komodo Edit редакторын ашыңыз.
2. Мысалда келтірілген программа мәтінін теріңіз.
3. Оны файлға сақтаңыз, атын түсініктемеде көрсетіңіз. Файл кеңейтілімі .ру болуы тиіс.
4. program.py арқылы python3 ортасы интерпретаторын іске қосыңыз.
Айнымалылар қарапайым түрде оларға мән беру арқылы қолданылады. Оларды алдын ала
жариялаудың немесе деректер түрін анықтаудың қажеті жоқ.
Логикалық және физикалық жолдар. Физикалық жол (line – строка) дегеніміз –
программаны компьютерге теріп жатқанда сіздің экранда бір жолда орналасқан жазуларыңыз.
Ал логикалық жол дегеніміз – Python-ның біртұтас сөйлем ретінде көретіні. Әдетте Python
әрбір физикалық жол логикалық жолға сәйкес келеді деп есептейді.
Логикалық жолға мысал ретінде print('Бүгін қай күн?') сөйлемін алуға болады, бірақ ол
сөйлем бір ғана жолға жазылуы керек. Бір жолға бір сөйлемді жазған ыңғайлы – кодты жылдам
түсінуге болады. Бір физикалық жолға бірнеше логикалық жолды жазу үшін араларын нүктелі
9
үтірмен (;) бөлу керек. Бұл белгі логикалық жолдың және логикалық сөйлемнің аяқталғанын
білдіреді. Мысалы,
і=5
print(i)
оны былай да жазуға болады:
і = 5; print(i);
және оны мынадай түрде де жазуға болады:
і = 5; print(i);
немесе мына түрде:
і = 5; print(i)
Бір жолға бір логикалық жолды жазған ыңғайлы, өйткені мұндайда нүктелі үтірді қоюдың
қажеті болмайды.
Азат жолдар. Python-да жол басында кездесетін бос орындардың маңызы үлкен. Оларды
азат жол деп атайды. Жол басындағы шегіністер (бос орындар мен табуляция) логикалық
жолдың деңгейін анықтауға көмектеседі, оны өз кезегінде бірнеше жолдарды (операторларды,
сөйлемдерді) топтастыру үшін қолданамыз. Бірге орындалатын сөйлемдердің азат жолдары
бірдей болуы тиіс. Мұндай сөйлем жиындары блок деп аталады. Бұрыс басталған азат жол
қателікке әкеледі. Мысалы,
і = 5
print('Mәтін құраймыз') # Қате! Жол басында бос орын
print("Тағы да мәтін қосамыз", і)
осы жолдарды орындағанда келесідей қате шыққанын көреміз:
print('Mәтін құраймыз') # Қате! Жол басында бос орын
^
IndentationError: unexpected indent
Екінші жолдың басында бір бос орын бар екеніне назар аударайық. Python программа
синтаксисі ереже бойынша жазылмаған деп көрсетіп отыр. Сөйлемдердің келесі жаңа блогын
кез келген азат жолдан бастай алмайсыз. Үнсіз келісім бойынша жазылатын негізгі блокты
санамағанда, әрине. Сонымен бірге бос орындар мен табуляция символдарын араластыруға
болмайды. Азат жолдың әрбір деңгейі үшін бір табуляция символы мен төрт бос орын
символын қолдануды ұсынамыз. Осындай қалыптасқан бір стильді үнемі қолданған жөн. Сол
сияқты, кейбір дайын программада ұсынылған стильді де жалғастырып отырған тиімді.
Komodo Edit редакторы мұны автоматты түрде жүзеге асырады.
Операторлар мен өрнектер
Python тілінде операторлардың орындалу приоритетін сақтау керек, яғни бірінші кезекте
көбейту және бөлу операторлары орындалады. Ал қосу мен азайту амалдарының приоритеті
олардан төмен. Егер операцияның приоритеті бірдей болса, онда олар солдан оңға қарай
кезекпен орындалады.
Операторлардың орындалу кезегін өзгерту үшін жай жақшалар қолданылады – олар ең
алдымен орындалатын операторларды көрсетеді.
(3 + 7) * (6 + 4)
Бұл өрнектің мәні 100 болады. Егер жақшаны алып тастайтын болсақ, нәтиже өзгереді:
3+7*6+4
10
Python алдымен 7-ні 6-ға көбейтеді, көбейтіндіге 3 пен 4-ті қосады. Нәтиже басқаша болып
шығады – 49.
Операторларды орындау реттілігі және олардың приоритеттері (бірінші кезекте
орындалатындары)
Бірінші өрнек мысалында біз + смиволын пайдаландық және осы символдың жанында
қатар тұрған екі санды қосу операциясын орындауға нұсқау бердік. Бұл жағдайда + оператор,
бір немесе екі операнд мәніне қарапайым амал орындайтын команда.
Программадағы көптеген сөйлемдер (логикалық жолдар) өрнектен құралған. Өрнекке
қарапайым мысал: 2 + 3. Өрнекті оператор мен операндтарға бөлуімізге болады. Оператор деп
амалдарды, ал операнд деп сандарды айтуға болады. Өрнектегі операндтар 2 және 3.
Мына мысалдарды теріп жазыңыз:
>>> 2 + 3
5
>>> 3 * 5
15
Жауабы бірден есептеліп отыр.
2+2 деген тізбекті өрнек деп атадық. Программалау тіліндегі өрнек термині – аяқталған ісәрекетті орындайтын команда. Өрнек – сандардың, айнымалылардың және функциялардың
арифметикалық амалдармен біріктірілген тізбегі. Қандай да бір мәнді есептеу, деректердің
қандай да бір құрылымын жасау, программалық кодты орындауды басқару, функцияны немесе
әдісті шақыру командасы іс-әрекет деп аталынады.
Python тіліндегі кез келген өрнек каретаны кері қайтару және жолды ауыстыру
символымен аяқталуы керек. Олар программалық кодқа батырмасын басу арқылы
қойылады.
Тағы да бірнеше өрнек қарастырайық.
>>> 3*4+8
3-ті 4-ке көбейтеміз, пайда болған көбейтіндіге 8-ді қосамыз және 20-ны аламыз. Көбейту
амалы қосу амалынан бұрын орындалады.
>>> 5/6 5-ті 6-ға бөлеміз және – 0,8333333333333334 мәнін аламыз.
Программадағы жолдың ретіне қарай іс-әрекеттер де рет-ретімен орыңдалады. Программа
кодын жазғанда кері шегіністерге мән беру аса маңызды болып табылады. Сондықтан, ісәрекет реттілігіне кіретін операторлардың барлығы да бірдей шегініспен жазылуы тиіс:
а=1
b=2
а=а+b
b=a-b
а = а-b
print (a, b)
Операторлар және оларды қолдану
Оператор Аты
Қосу
+
Азайту
*
Көбейту
**
Дәрежеге шығару
Түсіндірмесі
Екі объектіні қосады.
Екі санның айырмасын табады. Егер бірінші сан
жазылмаса, онда оны нөлге тең деп есептейді.
Екі санды көбейтеді немесе жолды берілген сан бойынша
қайталайды.
x санын у дәрежесіне шығарады.
11
/
//
%
<<
>>
&
|
^
~
<
>
<=
>=
==
!=
not
and
or
Бөлу
Бүтінсандық бөлу
Модуль бойынша
бөлу
Солға жылжу
x санын у санына бөледі.
Бүтін сандарды бөліп, бүтін бөлінді табуды іске асырады.
Бүтін сандарды бөліп, қалдықты көрсетеді.
Санның биттерін солға қарай бірнеше рет жылжытады. Кез
келген сан компьютер жадында биттік, яғни екілік жүйеде
бейнеленеді.
Оңға жылжу
Санның биттері тізбегін оңға қарай бірнеше позицияға
жылжытады.
Биттік ЖӘНЕ
Сандарға орындалатын биттік ЖӘНЕ операциясы
Биттік НЕМЕСЕ
Сандарға орындалатын биттік НЕМЕСЕ операциясы
Биттік ТЕК ҚАНА биттік ТЕК ҚАНА НЕМЕСЕ операциясы
НЕМЕСЕ
Биттік ЖОҚ
x саны үшін биттік ЖОҚ операциясы – (х+1)-ге тең.
Кіші
х-тің у-тен кіші екендігін анықтайды. Салыстыру
операторларының барлығы да True немесе False мәнін
қайтарады. Бұл сөздер бас әріппен жазылғанына назар
аудару керек.
Үлкен
х-тің у-тен үлкен екендігін анықтайды.
Кіші немесе тең
х-тің у-тен кіші немесе тең екендігін анықтайды.
Үлкен немесе тең х-тің у-тен үлкен немесе тең екендігін анықтайды.
Тең
Объектілердің тең екенін анықтайды.
Тең емес
Объектілердің тең емес екенін анықтайды.
Логикалық ЖОҚ
Егер х саны True болса, онда False мәнін қайтарады. Егер х
саны False болса, онда True деген мән береді.
Логикалық ЖӘНЕ Егер х саны False болса, х және у False деп есептеледі. Kepi
жағдайда у мәнін жазады.
Логикалық
Егер х саны True болса, онда True деп жазады. Кері
НЕМЕСЕ
жағдайда у мәнін жазады.
Математикалық операцияларды және меншіктеуді қысқаша жазуға болады.
а = 2; а = а*3
өрнегін
a = 2; a *= 3
түрінде жазуға болады.
«айнымалы=өрнектің айнымалы мәні»
түріндегі өрнектерді
«айнымалы операция=өрнек»
түрінде жазуға болады.
Есептеу тәртібі өзгешерек. Мысалы + 3 * 4 түрінде өрнек берілсе, көбейту амалының
бірінші орындалатыны мектеп курсынан белгілі. Көбейту амалының приоритеті қосу
амалынан басым. Келесі кестеде Python операторларының приоритеті көрсетілген. Кестенің
төменгі жағында орналасқан операторлар ең алдымен есептеледі де, кестенің жоғарғы
бөлігіндегілер соңында есептеледі.
Операторлар приоритеттері
оператор
сипаттамасы
lambda
лямбда-өрнек
12
or
and
not x
in, not in
is, is not
<, <=, >, >=, !=, ==
|
^
&
<< , >>
+, –
*, /, //, %
+х, -x
~х
**
x.attribute
X[индекс]
х [индекс1 :индекс2]
f(аргументтер ...)
(өрнектер, ...)
[өрнектер, ...]
{кілт:деректер,...}
Логикалық «немесе»
Логикалық «және»
Логикалық «емес»
Тәуелділігін тексеру
Теңдігін тексеру
салыстыру
Биттік «немесе»
Биттік «тек қана немесе»
Биттік «және»
Орын алмастыру
Қосу және азайту
Көбейту, бөлу, бүтінсандық бөлу
және бөлудің қалдығы
Теріс сан, оң сан
Биттік «емес»
Дәрежеге шығару
Атрибутқа сілтеме
Индекс бойынша іздеу
Қиып алу
Функцияны шақыру
Байланыс немесе кортеж
Тізім
Сөздік
Өрнекті есептеу ретін өзгерту үшін жай жақшаны қолдануға болады. Мысалы, 2+(3*4)
дегенді 2+3*4 деген өрнектен гөрі ұғыну жеңілірек.
Мысалды expression.py ретінде сақтаңыз.
length = 5
breadth = 2
area = length * breadth
print('Ауданы = ', area)
print ('Периметрі = ', 2 * (length + breadth))
Қорытындысы:
Ауданы = 10
Периметрі = 14
Бұл программа қалай жұмыс істейді? Тіктөртбұрыштың ұзындығы мен ені length және
breadth айнымалыларында сақталады. Оларды периметр мен ауданды есептеу үшін қолданамыз. Есептеу нәтижесі area айнымалысында сақталады да, print функциясы арқылы экранға
шығарылады. Екіншісінде 2 * (length + breadth) өрнегінің мәнін print функциясына бірден
қоямыз.
Функциялар
Функциялар дегеніміз – программаның қайталанып қолданылатын бөліктері. Олар
командалардың белгілі бір бөліктеріне ат беруге және одан кейін сол атымен осы блоктарды
көрсетілген атымен және программаның кез келген жерінен шексіз қайталап іске қосу үшін
керек. Оны функцияны шақыру деп атайды. Кірістірілген функцияларға len және range мысал
ретінде келтіруге болады.
13
Кез келген қарапайым емес программа үшін (кез келген программалау тілінде) аса
маңызды құрылым блогы болып табылады. Функцияны резервтелген def сөзі анықтайды. Осы
сөзден кейін функцияның аты көрсетіледі, одан кейін жай жақша ішінде айнымалылардың
атын көрсетуге болады және жолдың соңына қос нүкте қойылады. Бұдан кейін функцияны
құрайтын командалар блогы бірнеше шегініспен оңға жылжытылып жазылады.
Функцияны сипаттау үшін def түйінді (кілттік) сөзі қолданылады:
def<функцияның аты>(<функдия параметрлерінің тізімі>) :
<блок – функцияның денесі>
Функцияның аты қайталанбайтын болуы тиіс. Тізімде көрсетілген параметрлер үтірлермен бөлінеді, егер де функцияның параметрі болмайтын болса, оның атынан кейін бос
жақшалар қойылады.
Функциядан оның ішінде есептелген нәтижені қайтару үшін return операторы қолданылады. Нәтиже ретінде қайтарылатын мәндер осы оператордан кейін жазылады:
def pov2 (n):
return 2 ** n
Осы функция бір ғана параметр қабылдайды, 2 санын осы параметр мәніне сәйкес
дәрежеге шығарады және пайда болған нәтижені қайтарады.
Оны шақырайық:
а= pov2 (3)
Программаның нәтижесі 8 болып шығады.
Функцияны бірінші рет шақырудан бұрын оны жариялау керек. Егер жарияланбаған
функцияға сұраныс беретін болсақ, онда қате кеткені туралы хабарлама шығады.
def somefunc(n1, n2):
return n1 * 2, n2 / 2
Осы функция бірден екі параметр қабылдайды да, нәтижесі ретінде екі мәннен құралған
кортежді қайтарады. Оны екі айнымалыға меншіктей аламыз.
a, b = somefunc(4, 9)
Әріптік символдармен жасалынатын функцияға мысал келтірейік:
def sayHello():
print('Сәлем, Әлия!') # функцияға меншіктелетін блок
# Функция соңы
sayHello()
# функцияны шақыру
sayHello()
# функцияны тағы да бір шақыру
Нәтижесінде экранға мына жазу шығарылады:
$ python function1.py
Сәлем, Әлия!
Сәлем, Әлия!
Осы программаның жұмыс істеу жолын қарастырайық.
Жоғарыда сипатталған синтаксисті пайдалана отырып sayHello атты функцияны анықтадық. Бұл функция параметрлерді қабылдамайды, сондықтан жақша ішінде қандай да бір
айнымалылар жарияланған жоқ. Функцияның параметрлері дегеніміз – функцияға берілетін
кіріс деректері, соларды есептеу арқылы нәтиже пайда болады.
Бір функцияны бірнеше рет шақыра алатын болғандықтан, бір кодты қайта-қайта жазудың
қажеті жоқ.
14
Функция параметрлеріне тоқталсақ, функция өзіне параметрлер қабылдайды және
солармен қандай да бір амалдар орындай алады. Ол параметрлер айнымалыларға ұқсайды.
Айнымалының мәні функцияны шақырғанда көрсетіледі және функцияны орындау барысында оларға мән меншіктеліп қойылады. Параметрлер жақша ішіне жазылады және үтірлермен бөлінеді. Функцияны шақырғанда да біз осыған ұқсас мәндерді меншіктейміз.
Терминологияға мән беріңіздер: функцияны жариялаған кездегі аттар параметрлер деп, ал
функцияны шақырған кезде оған берілетін мәндер – аргумент деп аталады. Мысалы
(func_param.py ретінде сақтаңыз):
def printMax(a, b):
if a > b:
print(a, 'максималды')
elif a==b:
print(a, 'тең', b)
else:
print(b, 'максималды')
printMax(3,4) # мәндерді тікелей меншіктеу
x = 5
y = 7
printMax(y, x)
# айнымалыларды аргумент ретінде беру
Нәтижесі:
$ python func_param.py
4 максималды
7 максималды
Осы программаның жұмыс істеу жолын қарастырайық. Бұл жерде біз printMax деген аты
бар функцияны анықтадық. Ол а және b деген аты бар екі параметрді пайдаланады. Қарапайым
if..else операторын қолдана отырып үлкен санды табамыз. printMax функциясын бірінші per
шақырған кезде біз сандарды аргумент ретінде тікелей береміз. Екінші жағдайда біз айнымалылары бар функцияны аргумент ретінде шақырамыз. printMax(x, у) х аргументінің мәнін а
параметріне меншіктейді, ал у аргументінің мәнін b параметріне меншіктейді. Екі жағдайда да
printMax функциясы бірдей жұмыс істейді.
Айнымалыларды функция ішінде жариялаған кезде олар функцияның сыртындағы басқа
айнымалылармен ешқандай байланыста болмайды, ягни айнымалылардың аты функция
ішінде локальді болып табылады. Мұны айнымалының көріну аймағы деп атайды. Барлық
айнымалылардың көріну аймағы өздері жарияланған блокпен шектеледі және атын атаудан
басталады. Мысалы:
х = 50
def func(x):
print('x = ', x)
x = 2
print('Локальді х-ті ауыстыру', x)
func(x)
print('x бұрынғыша', x)
Нәтижесі:
$ python func local.py
х тең 50
Локальді х-ті ауыстыру 2
х бұрынғыша 50
Осы программаның жұмыс істеу жолын қарастырсақ, X аты меншіктелген мәнді бірінші
рет шығарғанда, функцияның бірінші жолында Python функцияны аныктаудан жоғарыдағы,
15
негізгі блокта жарияланған параметрдің мәнін пайдаланады. Одан кейін біз х-ке 2 мәнін
меншіктейміз. Олардың аты біздің функциямыз үшін локальді болып табылады. Функцияның
ішіндегі х мәнін ауыстырған кезде негізгі блокта жарияланған х өзгеріссіз қалады. Print
арқылы функцияны соңғы шақырған кезде біз негізгі блокта көрсетілген х-тің мәнін
шығарамыз. Локальді өзгеріс кезінде өзгермей, ол алдыңғы шақырылған функциядағы мәнінде қалғанын осылай
(әдістемелік құрал)
МАЗМҰНЫ
Алғы сөз.......................................................................................................... 3
Python тілінде программалауга кіріспе........................................................ 3
Python багдарламасын орнату....................................................................... 5
Программалық файлдарды қолдану............................................................. 6
Python тілінің негізгі ұгымдары.................................................................... 6
Операторлар мен өрнектер...........................................................................10
Функциялар....................................................................................................14
Python тілінде программа жазуға жаттыгу................................................. 17
Сөздіктер құру............................................................................................... 19
Файлдармен жұмыс істеу..............................................................................20
if, else инструкциясы..................................................................................... 21
while циклі...................................................................................................... 23
Енгізу/шығару................................................................................................ 26
Python тіліндегі объектіге бағытталған программалау.............................. 27
Web-сайтты Django кітапханасы негізінде Python тілінде құру............... 33
Тапсырмалар және оларды орындау әдістері..............................................43
СӨЖ орындауга арналған тапсырмалар......................................................44
Әдебиеттер тізімі............................................................................................46
2
Алғы сөз
Қазіргі уақытта Python қолданбалы программалық жасақтамаларды жасау барысында
(мысалы, linux-утилиттерді yum, pirut, system-config-*, ІМ-клиент Gajim және т.б.), web-қосымшаларды жасауда (қуатты Zope Application-сервері және соның негізінде жасалған CMS
Plone, ал Орталықтандырыпған барлау басқармасы сайты, Plones, Django, TurboGears қосымшаларын жылдам жасауға арналған фреймворктер соның негізінде жұмыс істейді), көптеген
ойындарда, OpenOffice.org, Blender 3d редакторында, Postgre деректер қорында кірістірілетін
скриптілік тіл ретінде пайдаланылады, ғылыми есептеулерде (мысалы, MatLab сияқты
пакеттермен тең түсетін SciPy және numPy, графиктерді салатын PyPlot пакетінде есептеу)
кеңінен қолданылады.
Python – меңгеруге жеңіл программалау тілі. Деректер құрылымдарын жоғары деңгейде
тиімді етіп көрсетуге мүмкіндік береді, объектілі-бағытталған программалау тіліне үйренудің
тиімді жолы. Синтаксисі мен динамикалық типтендіру, сонымен катар интрепретаторлы
болуы әртүрлі саланың қосымшаларын көптеген платформаларда жылдам жасауға мүмкіндік
береді. Мүнда қарапайым командалық скриптерді де, күрделі үстелдік және веб- қосымшалар
жасауға да болады. Сонымен бір комплектіде өте бай стандартты кітапхана беріледі. Онда
мәтінді өңдеудің күрделі құралдары, шифрлеу, файлдармен жұмыс, интернет арқылы
деректер алмасу және т.б. көптеген күрделі құрал-саймандар бар.
Оқу-әдістемелік құралда Python синтаксисі, ол қолдайтын деректер типі, кластармен,
объектілермен жұмыс істейтін басқару құралдары сипатталған.
¥сынылып отырған құралда Python тілінің негізгі ұғымдары – өрнек, оператор, функция,
айнымалы, сан, жол, тізім, логикалық шамалар, типтерді түрлендіру, кодтың орындалуын
басқару, блок, шартты өрнек, цикл, шартты цикл, тізім циклі, кластар, объектілер,
түсініктемелер, модуль, пакеттер, импорттау, стандартты кітапханалар, сыртқы кітапханалар,
Notepad ++ мәтіндік редакторы ұғымдары мысалдар негізінде талданған.
Теориялық материалмен бірге тәжірибелік сабақтарды жүргізуге арналған программа
мысалдары, интербелсенді интернет қорлар т.б. берілген.
СӨЖ орындауға арналған тапсырмапар бейнесабақтарға сілтеме жасай отырып
құрастырылған.
Әдебиеттер тізімі интернет-қорлармен бірге ұсынылып отыр. Студенттің өз бетімен
программа құрып үйренуіне үлкен мән берілген – тапсырмаларды орындау туралы нақгы
әдістемелік нүсқаулар берілген және қажетті түстарында программаны орындау қадамдары
мысалдармен, оларды орындағаннан соң экранға шығатын нәтижені көрсету арқылы
ұғындырылған.
Python тілінде программалауға кіріспе
Python тілі туралы оның негізін қалаушы голландиялық программалаушы Гвидо ван
Россум былай дейді:
"Python – интерпретацияланатын, объектіге бағытталған программалаудың жоғары
деңгейдегі динамикалы семантикасы бар тіл. Кірістірілген жоғары деңгейлі құрылымдар
динамикалық типтендірумен және байланыстырумен қатар тілді қосымшаларды жылдам
программалау үшін қызықты етіп көрсетеді (RAD, Rapid Application Development). Сонымен
қатар, оны программалар құрамдастарын байланыстыратын сценарийлік тіл ретінде пайдалануға болады. Python синтаксисі өте қарапайым, онда кодты оқу түсінікті болуына мән
беріледі, сол арқылы программалық өнімді құрастыру шығыны азаяды. Python ішінде
3
модульдер мен пакеттерге қолдау жасау қарастырылған. Кодты қайталап қолдануға болады.
Python интерпретаторы және көлемді стандарт кітапханалар бастапқы және орындалатын код
ретінде барлық негізгі платформаларда қолжетімді және тегін таратыла алады.»
Python – программалаудың әмбебап тілі. Оның артықшылықтарымен бірге кемшіліктері
де бар, сол сияқты қолданылу аясы да анықталған. Python-мен қатар көптеген міндеттерді
шешуге көмек беретін өте үлкен көлемді стандарт™ кітапхана ұсынылады. Интернетте
әртүрлі сала бойынша Python-ra арналған сапалы кітапханалар саны көп: мәтіндерді өңдеу мен
Интернет-технологиялар, суреттер мен бейнелерді өңдеу, қосымшаларды жасайтын механизмдер, деректер қорына қолжтемділікті қамтамасыз ететін, ғыпыми есептеулерге арналған
пакеттер, графикалық интерфейсті құру кітапханалары және т.б. Сонымен қатар, С, C++ (және
Java) тілдеріне интерпретаторды кірістірудің (embedding) қарапайым құралдары және сол
тілдерде жазылған программаларды Python тіліне кірістіретін құралдар да бар. Python тілі
программалаудың бірнеше парадигмасын қолдайды: императивтік (процедуралық, құрылымдық, модульдік көзқарастар), объектілі бағытталған және функционалды программалау.
Java платформасындағы және С компиляторы бар 32 және 64 биттік платформалардың
барлығына да қолжетімді.
C/C++, Java, Visual Basic, С#-тан басқа программалау тілдері қолданылмайтындай
көрінеді. Бірақ осы құралды оқи отырып, Python тілінің жақтаушылары да пайда болатынына
сенуге болады. Тілдің сипаттамасы. Бұл құрал басқа нұсқаулықтарды қайталауды мақсат етіп
отырған жоқ. Әртүрлі қырынан қарай отырып, нақты программалауға үйретуді көздеп отыр.
Программаны құру дегеніміз – программалаушы мен компьютер арасындағы коммуникация,
соның нәтижесінде программалаушы компьютерге белгілі бір іс-әрекеттерді орындауға
бұйрық береді. Іс-әрекеттерді программалаушының түсінуі – семантика деп аталады. Осы
магынаны синтаксис көмегімен жазу қажет. Берілген ақпаратқа интерпретатордың орындайтын амалы прагматика деп аталады. Программаны жазған кезде осы тізбектің ішінде іркілу
болмау керек.
Синтаксис – толығымен формалданған бөлік: оны синтаксистік диаграммалар тілінде
(анықтамалық нұсқаулықтар сияқты) сипаттауға болады. Интерпретатор синтаксис бойынша
жазылған «бұйрықтарды» езіндегі алгоритмге сәйкес іс-әрекеттерге айналдырады. Семантика
ғана формалды емес құрамдас болып қала береді. Мағынаны формалды сипаттауға ауысгырған кезде программалаудың ең қиын
күрделілігі туындайды. Python синтаксисі
программалаушының мәселесін интерпретатордың ұғынуына жақындатады. Python тілінің
тарихына қысқаша тоқталсақ, 1991 жылы Гвидо ван Россум (Guido van Rossum) бірнеше желіге таратылатын Амеба операциялық жүйесін жасау барысында осы тілді құрастырды. Жүйелі
сын-тегеуріндерге жауап бере алатын кеңейтілген тіл кажет болды. Негізі ретінде ABC және
Модула-3 алынды. Тілдің атауы ретінде жыланның аты емес, ВВС телеарнасынан көрсетілетін
«Летающий цирк Монти-Пайтона» комедиялық сериалы алынды. Содан бері Гвидо ван
Россум жұмыс істеген ұйымдардың барлығында да Python тілі қолданыла бастады. Қазір тілді
дамытуға программалаушылардың қауымдастығы да кірісті.
4
Python программасын орнату
Windows-қа орнату
http://www.python.org/download/ бетінен программаның соңғы нүсқасын жүктеп алып,
басқа программалар сняқты орнатуға болады. Кейбір опционалдық программаларды өшіру
ұсынылса да, олардың ешқайсысын өшірудің қажеті жоқ. Олардың кейбірі, әсіресе IDLE қажет
болып қалуы мүмкін.
Windows командалық жолынан Python-ды қолдану үшін, яғни DOS-ты шақыру үшін
PATH айнымалысын қажетті тәртіппен орнату керек.
Windows 2000, ХР, 2003 үшін «Басқару панелі» «Жүйе» «Қосымша» «Айнымалы
орталар» деген жолмен жүру керек. «Жүйелі айнымалылар» бөліміндегі PATH айнымалысын
басу керек. Осыдан кейін «Редакторлау» таңдап, ондағы жазудың соңына ;C:\Python33 деп
жазып аяктаңыз.
Windows 7 үшін:
1. Жұмыс үстеліндегі «Компьютер» батырмасына тышқанның оң жағын басыңыз және
«Қасиеттері» таңдаңыз немесе «Бастау» «Басқару панелі» «Жүйе және қауіпсіздік»
«Жүйе» басыңыз. «Жүйенің қосымша параметрлері» сол жақтан басыңыз, содан кейін
«Қосымша» ішкі бетін (вкладкасын) басыңыз. Төменірек «Айнымалы орталар»
батырмасын басыңыз және «Жүйелі айнымалылар» бөлімінің ішінен PATH айнымалысын
табыңыз. Оны таңдап, «Редакциялау» батырмасын басыңыз.
2. «Айнымалының мәні» өрісіндегі жолдың соңына ;C:\Python33 деп жазыңыз.
3. Егер айнымалының мәні %SystemRoot%\system32; болса, енді ол
%SystemRoot%\system32;C:\Python33 түрінде болады.
4. «ОК» басу керек, қайта жүктеудің қажеті жоқ.
Интерпретатордың командалық жолын қолдану
Терминал терезесін ашып, Python интерпретаторын іске қосыңыз: python3 командасын
теріп, Enter-ді теріңіз.
Windows-ті қолданушылар PATH айнымалысын дұрыс орнатқан жағдайда, командалық
жолдан интерпретаторды іске қоса алады. Windows-тың командалық жолын ашу үшін
«Бастау» менюінен «Орындау...» басу керек. Пайда болған командалық жолдан «cmd» теріп,
Enter-ді басу керек. DOS командалық жолында python-мен жұмыс істеуге болады.
IDLE қолданған жағдайда, «Бастау» «Программалар» «Python 3.0» «IDLE (Python
GUI)».
python3-тi іске қосқан соң, >>> белгісінің жол басында түрғанын көреміз. Бұл Python
интерпретаторының командалық жолы деп аталады.
Енді print('Hello World') теріңіз және Enter батырмасын басыңыз. Нәтижесінде “Hello
World” пайда болады.
Python жұмыс нәтижелерін бірден экранға шығарады. Сонымен бірге, бастапқыда Komodo
Edit программасының көмегіне жүгінген жөн. Ол Windows, Mac OS X и GNU/Linux программаларымен істеуге арналған.
Редакорды таңдау кезінде мынаған мән берген жөн. Интерпретатордың командалық
жолында әр кез сайын программаны тере алмайтын болғандықтан, және файлдарды сақтау,
қайтадан іске қосу үшін программа файлдарымен жұмыс істейтін редактор қажет.
Программаны терген кезде қажетті элементтер әртүрлі түске боялған, орындау барысында
қайта-қайта түзету жасауға мүмкіндік беретін Komodo Edit редакторы бар.
Windows-ты пайдаланатын болсаңыз, Блокнотты қолдану қиындық тудырады, онда
синтаксисті жарықтандыру функциясы жоқ, автоматты түрде азат жолдар қоя алмайды, ал
Komodo Edit программасында бұлардың барлығы бар және автоматты түрде қойылады.
5
Программалық файлдарды қолдану
Редакторды іске қосып, келесі программаны енгізіңіз және оны helloworld.py деген атпен
сақтаңыз.
Егер Komodo Edit қолдансаңыз, «Файл» «Жаңа» «Жаңа файл» таңдаңыз, келесі
жолды енгізіңіз:
print('Бүгін қай күн?')
Komodo Edit-те «Файл» «Сақтау» менюін басып, файлды сақтаңыз.
Файлды өзіңіз білетін кез келген бумаға сақтауыңызға болады немесе Python-ды:
Windows-та С:\\ру
GNU/Linux-та /tmp/py
Mac OS Х-та /tmp/py бумаларында сақтауға болады.
Бума құру үшін терминалдағы mkdir бұйрығын қолдануға болады. Мысалы,
mkdir /tmp/py
.ру файл кеңейтілімін көрсетуді ұмытпау аса маңызды. Мысалы. «file.ру».
Komodo Edit программасында «Инструменттер» «Бастау команды» басыңыз және
python3 деп жазыңыз.
helloworld.py және «Орындау» басыңыз. Төмендегі скриншоттағыдай экран пайда болуы
керек.
Сонда да программаны Komodo Edit ішінде редакциялаған тиімді, ал іске қосу үшін
терминалға жіберген жөн:
1. Windows-қа орнату тарауында көрсетілгендей терминалды ашыңыз.
2. Файлды сақғаған каталогыңызға өтіңіз. Мысалы, cd /tmp/ру.
3. python3 helloworld.py бұйрығын енгізе отырып, бағдараламаны іске қосыңыз.
Программаны шығару төмендегідей болады:
$ python3 helloworld.py
Бүгін қай күн?
Осындай нәтижеге келсеңіз, Python тіліндегі алғаш программаны іске қостыңыз. Python
регистрге сезімтал келеді: print және бас әріппен жазылған Print екеуінің айырмашылығы бар.
Бірінші символдың алдында бос орын немесе табуляция символы жоқ.
Python программасы өрнектерден құралған. Біз құрған алғашқы программада бір ғана
өрнек бар, ол өрнек көмегімен print функциясын шақырамыз.
Python тілінің негізгі үғымдары
Python тілінде деректер ретінде сандар, жол, тізім, кортеж (өзгертуге болмайтын тізім),
сөздік (элементтеріне индекс қойылған тізім), логикалық өлшемдер т.б. қолданылады.
Литералды константалар. Литералды константа 5, 1.23, 9.25е-3 сияқты сандар; 'Бұл жол'
немесе "It's a string!" сияқты сөйлемдер болуы мүмкін. Олар тұрақты, бір ғана мағынасы бар
болғандықтан, литерал шамалар деп аталады.
Сандар. Python-да үш түрлі сандар бар: бүтін, жылжымалы нүктелі және комплекс
сандар.
• Бүтін санға мысал: 2.
• Жылжымалы нүктесі бар санға мысал: 3.23 және 52.3Е-4. Е белгісі 10 санының дәрежесін
көрсетеді.
6
• Комплекс сандарға мысал: (-5+4j) және (2.3 – 4.6j)
Ескерту: ‘long int’ (ұзын бүтін сан) деген жеке тип жоқ. Бүтін санның ұзындығы еркін
түрде болады.
Қосу, азайту, көбейту және бөлу амалдары басқа тілдердегідей (мысалы, С, Java) жұмыс
істейді, бірақ дәрежеге шығару ** амалы арқылы өзгеше орындалады. Өрнектерді топтастыру
үшін жақшаны қолдануға болады. Төмендегі айнымалылардың мәнін өзгертіп, нәтижені көр.
Жақша, бірнеше сандар арқылы өрнектер жазып үйрен және экранға шығар.
a = 24 + 2 #
b = 2 - 20 #
c = 12 * 6 #
d = 12/1.2 #
e = 34**2
#
print("a-->",
print("b-->",
print("c-->",
print("d-->",
print("e-->",
Қосу
Азайту
Көбейту
Бөлу
Дәрежелеу
a)
b)
c)
d)
e)
a--> 26
b--> -18
c--> 72
d--> 10.0
e--> 1156
Сөз тіркестері. Сөз тіркестері немесе тіркестер (string – строка) дегеніміз – бірбірімен жалғасқан символдар тізбегі. Көбінесе олар сөздер жиынынан тұрады. Мұндағы
Unicode стандарты бойынша жазылатын тіркестер кез келген тілдегі (қытай, араб, жапон,
т.б.) сөздер мен сөйлемдерді таңбалауға мүмкіндік береді.
Ескерту: Python 3 программасында ASCII кодындағы таңбалар жоқ, өйткені ASCII
таңбалары Unicode құрамына енгізілен. Егер ASCII кодындағы сөзді жазу керек болатын болса,
str.encode("ascii") командасын қолдану керек. Жалпы мұнда келісім бойынша символдардың
бәрі де Unicode арқылы беріледі.
Тіркестер (қысқаша str) кез келген мәтіндік ақпаратты жазу үшін қажет. Олар бір-біріне
жалғасқан символдар тізбегі болып келеді. Python программалау тіліндегі тіркестердің
барлығы да Unicode арқылы кодталған символдар болып табылады. Тіркестерге қолданылған
операциялардың ешқайсысы да бастапқы берілген тіркесті өзгертпеуі тиіс. Тіркестер қостырнақша немесе жалқы тырнақшамен (апостроф) қоршалып жазылады ("тіркескен символдар" немесе 'символдар тіркестері'). Тіркестерді өңдейтін операциялар нәтижесінде жаңа
тіркестер пайда болады, бірақ бастапқы берілген тіркестер тұрақты түрде сақталуы тиіс,
тіркес құрылған соң, оны өзгертуге болмайды. Егер оларды өңдеп өзгертетін болсақ, басқа
атпен сақтау қажет.
Тіркестерді тырнақшалармен қоршап жазу кезінде олардың ішіндегі бос орындар мен
табуляция белгілері де бір символ болып саналады. Қос тырнақшалар мен жалқы тырнақшалар
бірдей мағынада қолданылады. Мысалы, "What's your name?"
Python тілінде үшем жалқы тырнақшалар (''') да қолданылады. Олар бірнеше жолдардан
тұратын түсініктемелердің (комментарийлердің) алды-артына қойылады.
Тіркестерді біріктіру. Егер екі тіркес жалғаса қатар жазылатын болса, Python оларды
автоматты түрде біріктіріп жібереді. Мысалы, 'What\'s ' 'your name?' автоматты түрде "What's
your name?" түріне айналады. C/C++ тілдерінде программа жасайтындар Python тілінде char
(символ) жеке мәліметтер түрінің жоқ екеніне назар аударуы тиіс. Оған аса қажеттілік те
туындамайды. Реrl/РНР тілдерінде программа жасайтындар жалқы тырнақшамен қоршалып
жазылатын тіркес пен қос тырнақша арқылы жазылған тіркестер арасында ешқандай айырмашылық жоқ екенін есте сақтағаны жөн.
format әдісі. Кейде қандай да бір мәліметтер негізінде жаңа тіркестер құрастыру керек
болып жатады, ондай жағдайда format әдісі (функциясы) қолданылады.
Келесі тіркестерді теріп, оларды str_format.py файлына жазып сақтаңыз:
7
age = 19
name = 'Азат'
print('{0} биыл {1} жаста.'. format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Бұл программа нәтижесі мынадай түрде болады:
Азат биыл 19 жаста.
Енді Азат Python тілінде программалауды үйреніп жүр.
Бұл программа қалай жұмыс істейді:
Тіркес ішіне қандай да бір жаңа символдарды енгізуімізге болады, ол үшін format әдісі
қолданылады. Жоғарыда келтірілген мысалдағы {0} деген жазу үтірден кейінгі алғашқы
тұрған name айнымалысы мәнін шығаруды көрсетеді, ол format әдісінің бірінші аргументі
болып табылады. Соған ұқсас, {1} деген екінші жазу age айнымалысына сәйкес келеді де, ол
format әдісінін екінші аргументі болып табылады. Python санауды 0-ден бастайды, сондықтан,
бірінші позиция – 0 нөмірі, екінші – 1 нөмірі және т.с.с. болып жалғаса береді.
Үш тіркесті де бірден біріктіре салуға болатын еді:
name + ' биыл ' + str(age) + ' ' жаста екен.',
бірақ мұндай жағдайларда қателесіп кетуге болады. Жалпы, format әдісі арқылы тіркестерді
түрлендіру автоматты түрде іске асады. Оған қоса, format әдісін қолданғанда айнымалыларға
тиіспей шығарылатын тіркестік мәліметтерді (мәтіндерді) өзгертіп отыру мүмкіндігі бар.
Сандарды жоғарыдағыдай түрде жазу міндетті емес. Оларды басқаша да жазуға болар еді:
age = 19
name = 'Азат'
print('{} биыл {} жаста.'.format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Мұның да нәтижесі алдыңғыдай болады. Сонымен, format әдісі арқылы әрбір аргументтің
мәнін өзіміз қалаған орынға қоя алады екенбіз.
Айнымалылар. Айнымалылар – компьютер жадындағы белгілі бір аймақ болғандықтан,
оларға қол жеткізе білу керек. Сондықтан айнымалыларға ат қойылады. Айнымалының мәні
әртүрлі болуы мүмкін. Біз қарастырған өрнектер мәнді бір ғана әрекет нәтижесінде есептеп
берген еді. Алайда көптеген жағдайда бір мезгілде бірнеше өрнектерді орындау керек болады.
Немесе бір өрнекте орындалған мән үнемі экран бетіне шығарыла бермеуі мүмкін. Ол басқа
өрнектің ішінде басқа мәнді есептеу үшін де қолданыла береді. Осындай жағдайда алдағы
есептеулерге қажетті мәндерді сақтау қажеттілігі туындайды. Ол мәндерді біз айнымалылар
көмегімен аты бар бірегей (уникалды) жады ұяшықтары ретінде қарастыра аламыз.
Айнымалыға кез келген мәнді беруге болады, кейінірек оларды компьютер жадынан шығарып
алып, кейінгі есептеулерде пайдалана аламыз. Айнымалы бір ғана мәнді сақтай алады. Егер
айнымалыға басқа мәнді меншіктейтін болсақ, онда алдыңғы мән жоғалып кетеді.
Айнымалыны жариялайық:
а = 10
Айнымалыны жариялаған кезде экранға ешқандай нәтиже шықпайды, өйткені меншіктеу
операторы нәтижені қайтармайды. Айнымалыны жарияламастан, оған мән беретін болсақ,
қате туралы ескерту аламыз.
Айнымалыға өрнектің нәтижесін де меншіктеуімізге болады:
b=2+3/4
немесе функциядан алынған мәнді де бере аламыз:
8
с = somefunction (1,2, 345)
Бір өрнекте бір мезгілде бірнеше айнымалыны пайдалану мысалы:
a,b,c = 10, 2 + 3 / 4, somefunсtion (1,2, 345).
Жарияланатын айнымалы мен олардың мәндері үтір арқылы бөлінеді. Бірінші айнымалыға бірінші мән, екінші айнымалыға екінші мән, т.с.с. болып меншіктеледі.
Қажет емес айнымалыларды del арқылы жоюға болады. Осы сөзден кейін жойылатын
айнымалыларды үтір арқылы тізбектеп жазуға болады. Мысалы:
del a, b
Мұнда а және b айнымалыларын жоямыз. Программада айнымалының саны көп бола
береді. Бірақ олардың аты бірін-бірі қайталамауы керек. Олар компьютер жадында белгілі бір
орын алатындықтан, қажеттен тыс артық айнымалыны пайдаланудың қажеті де жоқ.
Идентификатор аттары. Айнымалы атаулары идентификатордың бір түрі ғана. Идентификатор дегеніміз – бір нәрсені (айнымалыны, функцияны, т.с.с.) белгілеу үшін берілетін ат.
Оларға ат бергенде келесі ережелерді сақтаған жөн:
идентификатордың бірінші символы әліпбидегі әріп (жоғарғы не төменгі регистрдегі
ASCII немесе Unicode символы) немесе астын сызу белгісі ("_") болуы тиіс.
идентификатордың қалған бөлігі символдары әліпбидегі әріптерден, астын сызу
белгісінен, 1 мен 9 аралығындағы сандардан құрала алады.
идентификатор аты регистрге сезімтал келеді. Мысалы, myname және MyName екеуі
бірдей емес.
идентификатор аты мынадай түрлерде жазыла алады: і, _my name, name_23, а1b2_сЗ,
Aika12, т.с.с.
идентификатор аты мынадай түрлерде жазыла алмайды: 2things – цифрдан
басталмайды, Beke 3m – мұнда бос орындар бар, "my>b2" – тырнақшаға (") алынбайды
және ">" символын да қолдана алмаймыз.
Мәлімет түрлері. Айнымалылар мәлімет түрлері деп аталатын әртүрлі типтегі мәндерді
сақтай алады. Мәліметтің негізгі түрлері – сандар мен сөз тіркестері. Кластар көмегімен
өзіндік типтерді қалай құруға болатыны кейіннен айтылады.
Объектілер. Python ортасында берілгендердің бәрін де жалпы, олардың кең мағынасында,
объектілер ретінде қарастырады. Python программасында сандар, тіркестер, функциялар –
барлығы да объект болады. Python-да программа жазу жолы:
1. Komodo Edit редакторын ашыңыз.
2. Мысалда келтірілген программа мәтінін теріңіз.
3. Оны файлға сақтаңыз, атын түсініктемеде көрсетіңіз. Файл кеңейтілімі .ру болуы тиіс.
4. program.py арқылы python3 ортасы интерпретаторын іске қосыңыз.
Айнымалылар қарапайым түрде оларға мән беру арқылы қолданылады. Оларды алдын ала
жариялаудың немесе деректер түрін анықтаудың қажеті жоқ.
Логикалық және физикалық жолдар. Физикалық жол (line – строка) дегеніміз –
программаны компьютерге теріп жатқанда сіздің экранда бір жолда орналасқан жазуларыңыз.
Ал логикалық жол дегеніміз – Python-ның біртұтас сөйлем ретінде көретіні. Әдетте Python
әрбір физикалық жол логикалық жолға сәйкес келеді деп есептейді.
Логикалық жолға мысал ретінде print('Бүгін қай күн?') сөйлемін алуға болады, бірақ ол
сөйлем бір ғана жолға жазылуы керек. Бір жолға бір сөйлемді жазған ыңғайлы – кодты жылдам
түсінуге болады. Бір физикалық жолға бірнеше логикалық жолды жазу үшін араларын нүктелі
9
үтірмен (;) бөлу керек. Бұл белгі логикалық жолдың және логикалық сөйлемнің аяқталғанын
білдіреді. Мысалы,
і=5
print(i)
оны былай да жазуға болады:
і = 5; print(i);
және оны мынадай түрде де жазуға болады:
і = 5; print(i);
немесе мына түрде:
і = 5; print(i)
Бір жолға бір логикалық жолды жазған ыңғайлы, өйткені мұндайда нүктелі үтірді қоюдың
қажеті болмайды.
Азат жолдар. Python-да жол басында кездесетін бос орындардың маңызы үлкен. Оларды
азат жол деп атайды. Жол басындағы шегіністер (бос орындар мен табуляция) логикалық
жолдың деңгейін анықтауға көмектеседі, оны өз кезегінде бірнеше жолдарды (операторларды,
сөйлемдерді) топтастыру үшін қолданамыз. Бірге орындалатын сөйлемдердің азат жолдары
бірдей болуы тиіс. Мұндай сөйлем жиындары блок деп аталады. Бұрыс басталған азат жол
қателікке әкеледі. Мысалы,
і = 5
print('Mәтін құраймыз') # Қате! Жол басында бос орын
print("Тағы да мәтін қосамыз", і)
осы жолдарды орындағанда келесідей қате шыққанын көреміз:
print('Mәтін құраймыз') # Қате! Жол басында бос орын
^
IndentationError: unexpected indent
Екінші жолдың басында бір бос орын бар екеніне назар аударайық. Python программа
синтаксисі ереже бойынша жазылмаған деп көрсетіп отыр. Сөйлемдердің келесі жаңа блогын
кез келген азат жолдан бастай алмайсыз. Үнсіз келісім бойынша жазылатын негізгі блокты
санамағанда, әрине. Сонымен бірге бос орындар мен табуляция символдарын араластыруға
болмайды. Азат жолдың әрбір деңгейі үшін бір табуляция символы мен төрт бос орын
символын қолдануды ұсынамыз. Осындай қалыптасқан бір стильді үнемі қолданған жөн. Сол
сияқты, кейбір дайын программада ұсынылған стильді де жалғастырып отырған тиімді.
Komodo Edit редакторы мұны автоматты түрде жүзеге асырады.
Операторлар мен өрнектер
Python тілінде операторлардың орындалу приоритетін сақтау керек, яғни бірінші кезекте
көбейту және бөлу операторлары орындалады. Ал қосу мен азайту амалдарының приоритеті
олардан төмен. Егер операцияның приоритеті бірдей болса, онда олар солдан оңға қарай
кезекпен орындалады.
Операторлардың орындалу кезегін өзгерту үшін жай жақшалар қолданылады – олар ең
алдымен орындалатын операторларды көрсетеді.
(3 + 7) * (6 + 4)
Бұл өрнектің мәні 100 болады. Егер жақшаны алып тастайтын болсақ, нәтиже өзгереді:
3+7*6+4
10
Python алдымен 7-ні 6-ға көбейтеді, көбейтіндіге 3 пен 4-ті қосады. Нәтиже басқаша болып
шығады – 49.
Операторларды орындау реттілігі және олардың приоритеттері (бірінші кезекте
орындалатындары)
Бірінші өрнек мысалында біз + смиволын пайдаландық және осы символдың жанында
қатар тұрған екі санды қосу операциясын орындауға нұсқау бердік. Бұл жағдайда + оператор,
бір немесе екі операнд мәніне қарапайым амал орындайтын команда.
Программадағы көптеген сөйлемдер (логикалық жолдар) өрнектен құралған. Өрнекке
қарапайым мысал: 2 + 3. Өрнекті оператор мен операндтарға бөлуімізге болады. Оператор деп
амалдарды, ал операнд деп сандарды айтуға болады. Өрнектегі операндтар 2 және 3.
Мына мысалдарды теріп жазыңыз:
>>> 2 + 3
5
>>> 3 * 5
15
Жауабы бірден есептеліп отыр.
2+2 деген тізбекті өрнек деп атадық. Программалау тіліндегі өрнек термині – аяқталған ісәрекетті орындайтын команда. Өрнек – сандардың, айнымалылардың және функциялардың
арифметикалық амалдармен біріктірілген тізбегі. Қандай да бір мәнді есептеу, деректердің
қандай да бір құрылымын жасау, программалық кодты орындауды басқару, функцияны немесе
әдісті шақыру командасы іс-әрекет деп аталынады.
Python тіліндегі кез келген өрнек каретаны кері қайтару және жолды ауыстыру
символымен аяқталуы керек. Олар программалық кодқа
қойылады.
Тағы да бірнеше өрнек қарастырайық.
>>> 3*4+8
3-ті 4-ке көбейтеміз, пайда болған көбейтіндіге 8-ді қосамыз және 20-ны аламыз. Көбейту
амалы қосу амалынан бұрын орындалады.
>>> 5/6 5-ті 6-ға бөлеміз және – 0,8333333333333334 мәнін аламыз.
Программадағы жолдың ретіне қарай іс-әрекеттер де рет-ретімен орыңдалады. Программа
кодын жазғанда кері шегіністерге мән беру аса маңызды болып табылады. Сондықтан, ісәрекет реттілігіне кіретін операторлардың барлығы да бірдей шегініспен жазылуы тиіс:
а=1
b=2
а=а+b
b=a-b
а = а-b
print (a, b)
Операторлар және оларды қолдану
Оператор Аты
Қосу
+
Азайту
*
Көбейту
**
Дәрежеге шығару
Түсіндірмесі
Екі объектіні қосады.
Екі санның айырмасын табады. Егер бірінші сан
жазылмаса, онда оны нөлге тең деп есептейді.
Екі санды көбейтеді немесе жолды берілген сан бойынша
қайталайды.
x санын у дәрежесіне шығарады.
11
/
//
%
<<
>>
&
|
^
~
<
>
<=
>=
==
!=
not
and
or
Бөлу
Бүтінсандық бөлу
Модуль бойынша
бөлу
Солға жылжу
x санын у санына бөледі.
Бүтін сандарды бөліп, бүтін бөлінді табуды іске асырады.
Бүтін сандарды бөліп, қалдықты көрсетеді.
Санның биттерін солға қарай бірнеше рет жылжытады. Кез
келген сан компьютер жадында биттік, яғни екілік жүйеде
бейнеленеді.
Оңға жылжу
Санның биттері тізбегін оңға қарай бірнеше позицияға
жылжытады.
Биттік ЖӘНЕ
Сандарға орындалатын биттік ЖӘНЕ операциясы
Биттік НЕМЕСЕ
Сандарға орындалатын биттік НЕМЕСЕ операциясы
Биттік ТЕК ҚАНА биттік ТЕК ҚАНА НЕМЕСЕ операциясы
НЕМЕСЕ
Биттік ЖОҚ
x саны үшін биттік ЖОҚ операциясы – (х+1)-ге тең.
Кіші
х-тің у-тен кіші екендігін анықтайды. Салыстыру
операторларының барлығы да True немесе False мәнін
қайтарады. Бұл сөздер бас әріппен жазылғанына назар
аудару керек.
Үлкен
х-тің у-тен үлкен екендігін анықтайды.
Кіші немесе тең
х-тің у-тен кіші немесе тең екендігін анықтайды.
Үлкен немесе тең х-тің у-тен үлкен немесе тең екендігін анықтайды.
Тең
Объектілердің тең екенін анықтайды.
Тең емес
Объектілердің тең емес екенін анықтайды.
Логикалық ЖОҚ
Егер х саны True болса, онда False мәнін қайтарады. Егер х
саны False болса, онда True деген мән береді.
Логикалық ЖӘНЕ Егер х саны False болса, х және у False деп есептеледі. Kepi
жағдайда у мәнін жазады.
Логикалық
Егер х саны True болса, онда True деп жазады. Кері
НЕМЕСЕ
жағдайда у мәнін жазады.
Математикалық операцияларды және меншіктеуді қысқаша жазуға болады.
а = 2; а = а*3
өрнегін
a = 2; a *= 3
түрінде жазуға болады.
«айнымалы=өрнектің айнымалы мәні»
түріндегі өрнектерді
«айнымалы операция=өрнек»
түрінде жазуға болады.
Есептеу тәртібі өзгешерек. Мысалы + 3 * 4 түрінде өрнек берілсе, көбейту амалының
бірінші орындалатыны мектеп курсынан белгілі. Көбейту амалының приоритеті қосу
амалынан басым. Келесі кестеде Python операторларының приоритеті көрсетілген. Кестенің
төменгі жағында орналасқан операторлар ең алдымен есептеледі де, кестенің жоғарғы
бөлігіндегілер соңында есептеледі.
Операторлар приоритеттері
оператор
сипаттамасы
lambda
лямбда-өрнек
12
or
and
not x
in, not in
is, is not
<, <=, >, >=, !=, ==
|
^
&
<< , >>
+, –
*, /, //, %
+х, -x
~х
**
x.attribute
X[индекс]
х [индекс1 :индекс2]
f(аргументтер ...)
(өрнектер, ...)
[өрнектер, ...]
{кілт:деректер,...}
Логикалық «немесе»
Логикалық «және»
Логикалық «емес»
Тәуелділігін тексеру
Теңдігін тексеру
салыстыру
Биттік «немесе»
Биттік «тек қана немесе»
Биттік «және»
Орын алмастыру
Қосу және азайту
Көбейту, бөлу, бүтінсандық бөлу
және бөлудің қалдығы
Теріс сан, оң сан
Биттік «емес»
Дәрежеге шығару
Атрибутқа сілтеме
Индекс бойынша іздеу
Қиып алу
Функцияны шақыру
Байланыс немесе кортеж
Тізім
Сөздік
Өрнекті есептеу ретін өзгерту үшін жай жақшаны қолдануға болады. Мысалы, 2+(3*4)
дегенді 2+3*4 деген өрнектен гөрі ұғыну жеңілірек.
Мысалды expression.py ретінде сақтаңыз.
length = 5
breadth = 2
area = length * breadth
print('Ауданы = ', area)
print ('Периметрі = ', 2 * (length + breadth))
Қорытындысы:
Ауданы = 10
Периметрі = 14
Бұл программа қалай жұмыс істейді? Тіктөртбұрыштың ұзындығы мен ені length және
breadth айнымалыларында сақталады. Оларды периметр мен ауданды есептеу үшін қолданамыз. Есептеу нәтижесі area айнымалысында сақталады да, print функциясы арқылы экранға
шығарылады. Екіншісінде 2 * (length + breadth) өрнегінің мәнін print функциясына бірден
қоямыз.
Функциялар
Функциялар дегеніміз – программаның қайталанып қолданылатын бөліктері. Олар
командалардың белгілі бір бөліктеріне ат беруге және одан кейін сол атымен осы блоктарды
көрсетілген атымен және программаның кез келген жерінен шексіз қайталап іске қосу үшін
керек. Оны функцияны шақыру деп атайды. Кірістірілген функцияларға len және range мысал
ретінде келтіруге болады.
13
Кез келген қарапайым емес программа үшін (кез келген программалау тілінде) аса
маңызды құрылым блогы болып табылады. Функцияны резервтелген def сөзі анықтайды. Осы
сөзден кейін функцияның аты көрсетіледі, одан кейін жай жақша ішінде айнымалылардың
атын көрсетуге болады және жолдың соңына қос нүкте қойылады. Бұдан кейін функцияны
құрайтын командалар блогы бірнеше шегініспен оңға жылжытылып жазылады.
Функцияны сипаттау үшін def түйінді (кілттік) сөзі қолданылады:
def<функцияның аты>(<функдия параметрлерінің тізімі>) :
<блок – функцияның денесі>
Функцияның аты қайталанбайтын болуы тиіс. Тізімде көрсетілген параметрлер үтірлермен бөлінеді, егер де функцияның параметрі болмайтын болса, оның атынан кейін бос
жақшалар қойылады.
Функциядан оның ішінде есептелген нәтижені қайтару үшін return операторы қолданылады. Нәтиже ретінде қайтарылатын мәндер осы оператордан кейін жазылады:
def pov2 (n):
return 2 ** n
Осы функция бір ғана параметр қабылдайды, 2 санын осы параметр мәніне сәйкес
дәрежеге шығарады және пайда болған нәтижені қайтарады.
Оны шақырайық:
а= pov2 (3)
Программаның нәтижесі 8 болып шығады.
Функцияны бірінші рет шақырудан бұрын оны жариялау керек. Егер жарияланбаған
функцияға сұраныс беретін болсақ, онда қате кеткені туралы хабарлама шығады.
def somefunc(n1, n2):
return n1 * 2, n2 / 2
Осы функция бірден екі параметр қабылдайды да, нәтижесі ретінде екі мәннен құралған
кортежді қайтарады. Оны екі айнымалыға меншіктей аламыз.
a, b = somefunc(4, 9)
Әріптік символдармен жасалынатын функцияға мысал келтірейік:
def sayHello():
print('Сәлем, Әлия!') # функцияға меншіктелетін блок
# Функция соңы
sayHello()
# функцияны шақыру
sayHello()
# функцияны тағы да бір шақыру
Нәтижесінде экранға мына жазу шығарылады:
$ python function1.py
Сәлем, Әлия!
Сәлем, Әлия!
Осы программаның жұмыс істеу жолын қарастырайық.
Жоғарыда сипатталған синтаксисті пайдалана отырып sayHello атты функцияны анықтадық. Бұл функция параметрлерді қабылдамайды, сондықтан жақша ішінде қандай да бір
айнымалылар жарияланған жоқ. Функцияның параметрлері дегеніміз – функцияға берілетін
кіріс деректері, соларды есептеу арқылы нәтиже пайда болады.
Бір функцияны бірнеше рет шақыра алатын болғандықтан, бір кодты қайта-қайта жазудың
қажеті жоқ.
14
Функция параметрлеріне тоқталсақ, функция өзіне параметрлер қабылдайды және
солармен қандай да бір амалдар орындай алады. Ол параметрлер айнымалыларға ұқсайды.
Айнымалының мәні функцияны шақырғанда көрсетіледі және функцияны орындау барысында оларға мән меншіктеліп қойылады. Параметрлер жақша ішіне жазылады және үтірлермен бөлінеді. Функцияны шақырғанда да біз осыған ұқсас мәндерді меншіктейміз.
Терминологияға мән беріңіздер: функцияны жариялаған кездегі аттар параметрлер деп, ал
функцияны шақырған кезде оған берілетін мәндер – аргумент деп аталады. Мысалы
(func_param.py ретінде сақтаңыз):
def printMax(a, b):
if a > b:
print(a, 'максималды')
elif a==b:
print(a, 'тең', b)
else:
print(b, 'максималды')
printMax(3,4) # мәндерді тікелей меншіктеу
x = 5
y = 7
printMax(y, x)
# айнымалыларды аргумент ретінде беру
Нәтижесі:
$ python func_param.py
4 максималды
7 максималды
Осы программаның жұмыс істеу жолын қарастырайық. Бұл жерде біз printMax деген аты
бар функцияны анықтадық. Ол а және b деген аты бар екі параметрді пайдаланады. Қарапайым
if..else операторын қолдана отырып үлкен санды табамыз. printMax функциясын бірінші per
шақырған кезде біз сандарды аргумент ретінде тікелей береміз. Екінші жағдайда біз айнымалылары бар функцияны аргумент ретінде шақырамыз. printMax(x, у) х аргументінің мәнін а
параметріне меншіктейді, ал у аргументінің мәнін b параметріне меншіктейді. Екі жағдайда да
printMax функциясы бірдей жұмыс істейді.
Айнымалыларды функция ішінде жариялаған кезде олар функцияның сыртындағы басқа
айнымалылармен ешқандай байланыста болмайды, ягни айнымалылардың аты функция
ішінде локальді болып табылады. Мұны айнымалының көріну аймағы деп атайды. Барлық
айнымалылардың көріну аймағы өздері жарияланған блокпен шектеледі және атын атаудан
басталады. Мысалы:
х = 50
def func(x):
print('x = ', x)
x = 2
print('Локальді х-ті ауыстыру', x)
func(x)
print('x бұрынғыша', x)
Нәтижесі:
$ python func local.py
х тең 50
Локальді х-ті ауыстыру 2
х бұрынғыша 50
Осы программаның жұмыс істеу жолын қарастырсақ, X аты меншіктелген мәнді бірінші
рет шығарғанда, функцияның бірінші жолында Python функцияны аныктаудан жоғарыдағы,
15
негізгі блокта жарияланған параметрдің мәнін пайдаланады. Одан кейін біз х-ке 2 мәнін
меншіктейміз. Олардың аты біздің функциямыз үшін локальді болып табылады. Функцияның
ішіндегі х мәнін ауыстырған кезде негізгі блокта жарияланған х өзгеріссіз қалады. Print
арқылы функцияны соңғы шақырған кезде біз негізгі блокта көрсетілген х-тің мәнін
шығарамыз. Локальді өзгеріс кезінде өзгермей, ол алдыңғы шақырылған функциядағы мәнінде қалғанын осылай
ЖИ арқылы жасау
ЖИ арқылы жасау
Бөлісу
1 - айлық
Материал тарифі-96% жеңілдік
00
05
00
ҚМЖ
Ашық сабақ
Тәрбие сағаты
Презентация
БЖБ, ТЖБ тесттер
Көрнекіліктер
Балабақшаға арнарлған құжаттар
Мақала, Эссе
Дидактикалық ойындар
және тағы басқа 400 000 материал
Барлық 400 000 материалдарды шексіз
жүктеу мүмкіндігіне ие боласыз
жүктеу мүмкіндігіне ие боласыз
1 990 ₸ 49 000₸
1 айға қосылу
Материалға шағымдану
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Жариялаған:
Ысмайыл Мырзабек АғабекұлыШағым жылдам қаралу үшін барынша толық ақпарат жіберіңіз
PYTHON ТІЛІ НЕГІЗДЕРІ (әдістемелік құрал)
Тақырып бойынша 11 материал табылды
PYTHON ТІЛІ НЕГІЗДЕРІ (әдістемелік құрал)
Материал туралы қысқаша түсінік
PYTHON ТІЛІ НЕГІЗДЕРІ (әдістемелік құрал)
Материалдың қысқаша нұсқасы
PYTHON ТІЛІ НЕГІЗДЕРІ
(әдістемелік құрал)
МАЗМҰНЫ
Алғы сөз.......................................................................................................... 3
Python тілінде программалауга кіріспе........................................................ 3
Python багдарламасын орнату....................................................................... 5
Программалық файлдарды қолдану............................................................. 6
Python тілінің негізгі ұгымдары.................................................................... 6
Операторлар мен өрнектер...........................................................................10
Функциялар....................................................................................................14
Python тілінде программа жазуға жаттыгу................................................. 17
Сөздіктер құру............................................................................................... 19
Файлдармен жұмыс істеу..............................................................................20
if, else инструкциясы..................................................................................... 21
while циклі...................................................................................................... 23
Енгізу/шығару................................................................................................ 26
Python тіліндегі объектіге бағытталған программалау.............................. 27
Web-сайтты Django кітапханасы негізінде Python тілінде құру............... 33
Тапсырмалар және оларды орындау әдістері..............................................43
СӨЖ орындауга арналған тапсырмалар......................................................44
Әдебиеттер тізімі............................................................................................46
2
Алғы сөз
Қазіргі уақытта Python қолданбалы программалық жасақтамаларды жасау барысында
(мысалы, linux-утилиттерді yum, pirut, system-config-*, ІМ-клиент Gajim және т.б.), web-қосымшаларды жасауда (қуатты Zope Application-сервері және соның негізінде жасалған CMS
Plone, ал Орталықтандырыпған барлау басқармасы сайты, Plones, Django, TurboGears қосымшаларын жылдам жасауға арналған фреймворктер соның негізінде жұмыс істейді), көптеген
ойындарда, OpenOffice.org, Blender 3d редакторында, Postgre деректер қорында кірістірілетін
скриптілік тіл ретінде пайдаланылады, ғылыми есептеулерде (мысалы, MatLab сияқты
пакеттермен тең түсетін SciPy және numPy, графиктерді салатын PyPlot пакетінде есептеу)
кеңінен қолданылады.
Python – меңгеруге жеңіл программалау тілі. Деректер құрылымдарын жоғары деңгейде
тиімді етіп көрсетуге мүмкіндік береді, объектілі-бағытталған программалау тіліне үйренудің
тиімді жолы. Синтаксисі мен динамикалық типтендіру, сонымен катар интрепретаторлы
болуы әртүрлі саланың қосымшаларын көптеген платформаларда жылдам жасауға мүмкіндік
береді. Мүнда қарапайым командалық скриптерді де, күрделі үстелдік және веб- қосымшалар
жасауға да болады. Сонымен бір комплектіде өте бай стандартты кітапхана беріледі. Онда
мәтінді өңдеудің күрделі құралдары, шифрлеу, файлдармен жұмыс, интернет арқылы
деректер алмасу және т.б. көптеген күрделі құрал-саймандар бар.
Оқу-әдістемелік құралда Python синтаксисі, ол қолдайтын деректер типі, кластармен,
объектілермен жұмыс істейтін басқару құралдары сипатталған.
¥сынылып отырған құралда Python тілінің негізгі ұғымдары – өрнек, оператор, функция,
айнымалы, сан, жол, тізім, логикалық шамалар, типтерді түрлендіру, кодтың орындалуын
басқару, блок, шартты өрнек, цикл, шартты цикл, тізім циклі, кластар, объектілер,
түсініктемелер, модуль, пакеттер, импорттау, стандартты кітапханалар, сыртқы кітапханалар,
Notepad ++ мәтіндік редакторы ұғымдары мысалдар негізінде талданған.
Теориялық материалмен бірге тәжірибелік сабақтарды жүргізуге арналған программа
мысалдары, интербелсенді интернет қорлар т.б. берілген.
СӨЖ орындауға арналған тапсырмапар бейнесабақтарға сілтеме жасай отырып
құрастырылған.
Әдебиеттер тізімі интернет-қорлармен бірге ұсынылып отыр. Студенттің өз бетімен
программа құрып үйренуіне үлкен мән берілген – тапсырмаларды орындау туралы нақгы
әдістемелік нүсқаулар берілген және қажетті түстарында программаны орындау қадамдары
мысалдармен, оларды орындағаннан соң экранға шығатын нәтижені көрсету арқылы
ұғындырылған.
Python тілінде программалауға кіріспе
Python тілі туралы оның негізін қалаушы голландиялық программалаушы Гвидо ван
Россум былай дейді:
"Python – интерпретацияланатын, объектіге бағытталған программалаудың жоғары
деңгейдегі динамикалы семантикасы бар тіл. Кірістірілген жоғары деңгейлі құрылымдар
динамикалық типтендірумен және байланыстырумен қатар тілді қосымшаларды жылдам
программалау үшін қызықты етіп көрсетеді (RAD, Rapid Application Development). Сонымен
қатар, оны программалар құрамдастарын байланыстыратын сценарийлік тіл ретінде пайдалануға болады. Python синтаксисі өте қарапайым, онда кодты оқу түсінікті болуына мән
беріледі, сол арқылы программалық өнімді құрастыру шығыны азаяды. Python ішінде
3
модульдер мен пакеттерге қолдау жасау қарастырылған. Кодты қайталап қолдануға болады.
Python интерпретаторы және көлемді стандарт кітапханалар бастапқы және орындалатын код
ретінде барлық негізгі платформаларда қолжетімді және тегін таратыла алады.»
Python – программалаудың әмбебап тілі. Оның артықшылықтарымен бірге кемшіліктері
де бар, сол сияқты қолданылу аясы да анықталған. Python-мен қатар көптеген міндеттерді
шешуге көмек беретін өте үлкен көлемді стандарт™ кітапхана ұсынылады. Интернетте
әртүрлі сала бойынша Python-ra арналған сапалы кітапханалар саны көп: мәтіндерді өңдеу мен
Интернет-технологиялар, суреттер мен бейнелерді өңдеу, қосымшаларды жасайтын механизмдер, деректер қорына қолжтемділікті қамтамасыз ететін, ғыпыми есептеулерге арналған
пакеттер, графикалық интерфейсті құру кітапханалары және т.б. Сонымен қатар, С, C++ (және
Java) тілдеріне интерпретаторды кірістірудің (embedding) қарапайым құралдары және сол
тілдерде жазылған программаларды Python тіліне кірістіретін құралдар да бар. Python тілі
программалаудың бірнеше парадигмасын қолдайды: императивтік (процедуралық, құрылымдық, модульдік көзқарастар), объектілі бағытталған және функционалды программалау.
Java платформасындағы және С компиляторы бар 32 және 64 биттік платформалардың
барлығына да қолжетімді.
C/C++, Java, Visual Basic, С#-тан басқа программалау тілдері қолданылмайтындай
көрінеді. Бірақ осы құралды оқи отырып, Python тілінің жақтаушылары да пайда болатынына
сенуге болады. Тілдің сипаттамасы. Бұл құрал басқа нұсқаулықтарды қайталауды мақсат етіп
отырған жоқ. Әртүрлі қырынан қарай отырып, нақты программалауға үйретуді көздеп отыр.
Программаны құру дегеніміз – программалаушы мен компьютер арасындағы коммуникация,
соның нәтижесінде программалаушы компьютерге белгілі бір іс-әрекеттерді орындауға
бұйрық береді. Іс-әрекеттерді программалаушының түсінуі – семантика деп аталады. Осы
магынаны синтаксис көмегімен жазу қажет. Берілген ақпаратқа интерпретатордың орындайтын амалы прагматика деп аталады. Программаны жазған кезде осы тізбектің ішінде іркілу
болмау керек.
Синтаксис – толығымен формалданған бөлік: оны синтаксистік диаграммалар тілінде
(анықтамалық нұсқаулықтар сияқты) сипаттауға болады. Интерпретатор синтаксис бойынша
жазылған «бұйрықтарды» езіндегі алгоритмге сәйкес іс-әрекеттерге айналдырады. Семантика
ғана формалды емес құрамдас болып қала береді. Мағынаны формалды сипаттауға ауысгырған кезде программалаудың ең қиын
күрделілігі туындайды. Python синтаксисі
программалаушының мәселесін интерпретатордың ұғынуына жақындатады. Python тілінің
тарихына қысқаша тоқталсақ, 1991 жылы Гвидо ван Россум (Guido van Rossum) бірнеше желіге таратылатын Амеба операциялық жүйесін жасау барысында осы тілді құрастырды. Жүйелі
сын-тегеуріндерге жауап бере алатын кеңейтілген тіл кажет болды. Негізі ретінде ABC және
Модула-3 алынды. Тілдің атауы ретінде жыланның аты емес, ВВС телеарнасынан көрсетілетін
«Летающий цирк Монти-Пайтона» комедиялық сериалы алынды. Содан бері Гвидо ван
Россум жұмыс істеген ұйымдардың барлығында да Python тілі қолданыла бастады. Қазір тілді
дамытуға программалаушылардың қауымдастығы да кірісті.
4
Python программасын орнату
Windows-қа орнату
http://www.python.org/download/ бетінен программаның соңғы нүсқасын жүктеп алып,
басқа программалар сняқты орнатуға болады. Кейбір опционалдық программаларды өшіру
ұсынылса да, олардың ешқайсысын өшірудің қажеті жоқ. Олардың кейбірі, әсіресе IDLE қажет
болып қалуы мүмкін.
Windows командалық жолынан Python-ды қолдану үшін, яғни DOS-ты шақыру үшін
PATH айнымалысын қажетті тәртіппен орнату керек.
Windows 2000, ХР, 2003 үшін «Басқару панелі» «Жүйе» «Қосымша» «Айнымалы
орталар» деген жолмен жүру керек. «Жүйелі айнымалылар» бөліміндегі PATH айнымалысын
басу керек. Осыдан кейін «Редакторлау» таңдап, ондағы жазудың соңына ;C:\Python33 деп
жазып аяктаңыз.
Windows 7 үшін:
1. Жұмыс үстеліндегі «Компьютер» батырмасына тышқанның оң жағын басыңыз және
«Қасиеттері» таңдаңыз немесе «Бастау» «Басқару панелі» «Жүйе және қауіпсіздік»
«Жүйе» басыңыз. «Жүйенің қосымша параметрлері» сол жақтан басыңыз, содан кейін
«Қосымша» ішкі бетін (вкладкасын) басыңыз. Төменірек «Айнымалы орталар»
батырмасын басыңыз және «Жүйелі айнымалылар» бөлімінің ішінен PATH айнымалысын
табыңыз. Оны таңдап, «Редакциялау» батырмасын басыңыз.
2. «Айнымалының мәні» өрісіндегі жолдың соңына ;C:\Python33 деп жазыңыз.
3. Егер айнымалының мәні %SystemRoot%\system32; болса, енді ол
%SystemRoot%\system32;C:\Python33 түрінде болады.
4. «ОК» басу керек, қайта жүктеудің қажеті жоқ.
Интерпретатордың командалық жолын қолдану
Терминал терезесін ашып, Python интерпретаторын іске қосыңыз: python3 командасын
теріп, Enter-ді теріңіз.
Windows-ті қолданушылар PATH айнымалысын дұрыс орнатқан жағдайда, командалық
жолдан интерпретаторды іске қоса алады. Windows-тың командалық жолын ашу үшін
«Бастау» менюінен «Орындау...» басу керек. Пайда болған командалық жолдан «cmd» теріп,
Enter-ді басу керек. DOS командалық жолында python-мен жұмыс істеуге болады.
IDLE қолданған жағдайда, «Бастау» «Программалар» «Python 3.0» «IDLE (Python
GUI)».
python3-тi іске қосқан соң, >>> белгісінің жол басында түрғанын көреміз. Бұл Python
интерпретаторының командалық жолы деп аталады.
Енді print('Hello World') теріңіз және Enter батырмасын басыңыз. Нәтижесінде “Hello
World” пайда болады.
Python жұмыс нәтижелерін бірден экранға шығарады. Сонымен бірге, бастапқыда Komodo
Edit программасының көмегіне жүгінген жөн. Ол Windows, Mac OS X и GNU/Linux программаларымен істеуге арналған.
Редакорды таңдау кезінде мынаған мән берген жөн. Интерпретатордың командалық
жолында әр кез сайын программаны тере алмайтын болғандықтан, және файлдарды сақтау,
қайтадан іске қосу үшін программа файлдарымен жұмыс істейтін редактор қажет.
Программаны терген кезде қажетті элементтер әртүрлі түске боялған, орындау барысында
қайта-қайта түзету жасауға мүмкіндік беретін Komodo Edit редакторы бар.
Windows-ты пайдаланатын болсаңыз, Блокнотты қолдану қиындық тудырады, онда
синтаксисті жарықтандыру функциясы жоқ, автоматты түрде азат жолдар қоя алмайды, ал
Komodo Edit программасында бұлардың барлығы бар және автоматты түрде қойылады.
5
Программалық файлдарды қолдану
Редакторды іске қосып, келесі программаны енгізіңіз және оны helloworld.py деген атпен
сақтаңыз.
Егер Komodo Edit қолдансаңыз, «Файл» «Жаңа» «Жаңа файл» таңдаңыз, келесі
жолды енгізіңіз:
print('Бүгін қай күн?')
Komodo Edit-те «Файл» «Сақтау» менюін басып, файлды сақтаңыз.
Файлды өзіңіз білетін кез келген бумаға сақтауыңызға болады немесе Python-ды:
Windows-та С:\\ру
GNU/Linux-та /tmp/py
Mac OS Х-та /tmp/py бумаларында сақтауға болады.
Бума құру үшін терминалдағы mkdir бұйрығын қолдануға болады. Мысалы,
mkdir /tmp/py
.ру файл кеңейтілімін көрсетуді ұмытпау аса маңызды. Мысалы. «file.ру».
Komodo Edit программасында «Инструменттер» «Бастау команды» басыңыз және
python3 деп жазыңыз.
helloworld.py және «Орындау» басыңыз. Төмендегі скриншоттағыдай экран пайда болуы
керек.
Сонда да программаны Komodo Edit ішінде редакциялаған тиімді, ал іске қосу үшін
терминалға жіберген жөн:
1. Windows-қа орнату тарауында көрсетілгендей терминалды ашыңыз.
2. Файлды сақғаған каталогыңызға өтіңіз. Мысалы, cd /tmp/ру.
3. python3 helloworld.py бұйрығын енгізе отырып, бағдараламаны іске қосыңыз.
Программаны шығару төмендегідей болады:
$ python3 helloworld.py
Бүгін қай күн?
Осындай нәтижеге келсеңіз, Python тіліндегі алғаш программаны іске қостыңыз. Python
регистрге сезімтал келеді: print және бас әріппен жазылған Print екеуінің айырмашылығы бар.
Бірінші символдың алдында бос орын немесе табуляция символы жоқ.
Python программасы өрнектерден құралған. Біз құрған алғашқы программада бір ғана
өрнек бар, ол өрнек көмегімен print функциясын шақырамыз.
Python тілінің негізгі үғымдары
Python тілінде деректер ретінде сандар, жол, тізім, кортеж (өзгертуге болмайтын тізім),
сөздік (элементтеріне индекс қойылған тізім), логикалық өлшемдер т.б. қолданылады.
Литералды константалар. Литералды константа 5, 1.23, 9.25е-3 сияқты сандар; 'Бұл жол'
немесе "It's a string!" сияқты сөйлемдер болуы мүмкін. Олар тұрақты, бір ғана мағынасы бар
болғандықтан, литерал шамалар деп аталады.
Сандар. Python-да үш түрлі сандар бар: бүтін, жылжымалы нүктелі және комплекс
сандар.
• Бүтін санға мысал: 2.
• Жылжымалы нүктесі бар санға мысал: 3.23 және 52.3Е-4. Е белгісі 10 санының дәрежесін
көрсетеді.
6
• Комплекс сандарға мысал: (-5+4j) және (2.3 – 4.6j)
Ескерту: ‘long int’ (ұзын бүтін сан) деген жеке тип жоқ. Бүтін санның ұзындығы еркін
түрде болады.
Қосу, азайту, көбейту және бөлу амалдары басқа тілдердегідей (мысалы, С, Java) жұмыс
істейді, бірақ дәрежеге шығару ** амалы арқылы өзгеше орындалады. Өрнектерді топтастыру
үшін жақшаны қолдануға болады. Төмендегі айнымалылардың мәнін өзгертіп, нәтижені көр.
Жақша, бірнеше сандар арқылы өрнектер жазып үйрен және экранға шығар.
a = 24 + 2 #
b = 2 - 20 #
c = 12 * 6 #
d = 12/1.2 #
e = 34**2
#
print("a-->",
print("b-->",
print("c-->",
print("d-->",
print("e-->",
Қосу
Азайту
Көбейту
Бөлу
Дәрежелеу
a)
b)
c)
d)
e)
a--> 26
b--> -18
c--> 72
d--> 10.0
e--> 1156
Сөз тіркестері. Сөз тіркестері немесе тіркестер (string – строка) дегеніміз – бірбірімен жалғасқан символдар тізбегі. Көбінесе олар сөздер жиынынан тұрады. Мұндағы
Unicode стандарты бойынша жазылатын тіркестер кез келген тілдегі (қытай, араб, жапон,
т.б.) сөздер мен сөйлемдерді таңбалауға мүмкіндік береді.
Ескерту: Python 3 программасында ASCII кодындағы таңбалар жоқ, өйткені ASCII
таңбалары Unicode құрамына енгізілен. Егер ASCII кодындағы сөзді жазу керек болатын болса,
str.encode("ascii") командасын қолдану керек. Жалпы мұнда келісім бойынша символдардың
бәрі де Unicode арқылы беріледі.
Тіркестер (қысқаша str) кез келген мәтіндік ақпаратты жазу үшін қажет. Олар бір-біріне
жалғасқан символдар тізбегі болып келеді. Python программалау тіліндегі тіркестердің
барлығы да Unicode арқылы кодталған символдар болып табылады. Тіркестерге қолданылған
операциялардың ешқайсысы да бастапқы берілген тіркесті өзгертпеуі тиіс. Тіркестер қостырнақша немесе жалқы тырнақшамен (апостроф) қоршалып жазылады ("тіркескен символдар" немесе 'символдар тіркестері'). Тіркестерді өңдейтін операциялар нәтижесінде жаңа
тіркестер пайда болады, бірақ бастапқы берілген тіркестер тұрақты түрде сақталуы тиіс,
тіркес құрылған соң, оны өзгертуге болмайды. Егер оларды өңдеп өзгертетін болсақ, басқа
атпен сақтау қажет.
Тіркестерді тырнақшалармен қоршап жазу кезінде олардың ішіндегі бос орындар мен
табуляция белгілері де бір символ болып саналады. Қос тырнақшалар мен жалқы тырнақшалар
бірдей мағынада қолданылады. Мысалы, "What's your name?"
Python тілінде үшем жалқы тырнақшалар (''') да қолданылады. Олар бірнеше жолдардан
тұратын түсініктемелердің (комментарийлердің) алды-артына қойылады.
Тіркестерді біріктіру. Егер екі тіркес жалғаса қатар жазылатын болса, Python оларды
автоматты түрде біріктіріп жібереді. Мысалы, 'What\'s ' 'your name?' автоматты түрде "What's
your name?" түріне айналады. C/C++ тілдерінде программа жасайтындар Python тілінде char
(символ) жеке мәліметтер түрінің жоқ екеніне назар аударуы тиіс. Оған аса қажеттілік те
туындамайды. Реrl/РНР тілдерінде программа жасайтындар жалқы тырнақшамен қоршалып
жазылатын тіркес пен қос тырнақша арқылы жазылған тіркестер арасында ешқандай айырмашылық жоқ екенін есте сақтағаны жөн.
format әдісі. Кейде қандай да бір мәліметтер негізінде жаңа тіркестер құрастыру керек
болып жатады, ондай жағдайда format әдісі (функциясы) қолданылады.
Келесі тіркестерді теріп, оларды str_format.py файлына жазып сақтаңыз:
7
age = 19
name = 'Азат'
print('{0} биыл {1} жаста.'. format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Бұл программа нәтижесі мынадай түрде болады:
Азат биыл 19 жаста.
Енді Азат Python тілінде программалауды үйреніп жүр.
Бұл программа қалай жұмыс істейді:
Тіркес ішіне қандай да бір жаңа символдарды енгізуімізге болады, ол үшін format әдісі
қолданылады. Жоғарыда келтірілген мысалдағы {0} деген жазу үтірден кейінгі алғашқы
тұрған name айнымалысы мәнін шығаруды көрсетеді, ол format әдісінің бірінші аргументі
болып табылады. Соған ұқсас, {1} деген екінші жазу age айнымалысына сәйкес келеді де, ол
format әдісінін екінші аргументі болып табылады. Python санауды 0-ден бастайды, сондықтан,
бірінші позиция – 0 нөмірі, екінші – 1 нөмірі және т.с.с. болып жалғаса береді.
Үш тіркесті де бірден біріктіре салуға болатын еді:
name + ' биыл ' + str(age) + ' ' жаста екен.',
бірақ мұндай жағдайларда қателесіп кетуге болады. Жалпы, format әдісі арқылы тіркестерді
түрлендіру автоматты түрде іске асады. Оған қоса, format әдісін қолданғанда айнымалыларға
тиіспей шығарылатын тіркестік мәліметтерді (мәтіндерді) өзгертіп отыру мүмкіндігі бар.
Сандарды жоғарыдағыдай түрде жазу міндетті емес. Оларды басқаша да жазуға болар еді:
age = 19
name = 'Азат'
print('{} биыл {} жаста.'.format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Мұның да нәтижесі алдыңғыдай болады. Сонымен, format әдісі арқылы әрбір аргументтің
мәнін өзіміз қалаған орынға қоя алады екенбіз.
Айнымалылар. Айнымалылар – компьютер жадындағы белгілі бір аймақ болғандықтан,
оларға қол жеткізе білу керек. Сондықтан айнымалыларға ат қойылады. Айнымалының мәні
әртүрлі болуы мүмкін. Біз қарастырған өрнектер мәнді бір ғана әрекет нәтижесінде есептеп
берген еді. Алайда көптеген жағдайда бір мезгілде бірнеше өрнектерді орындау керек болады.
Немесе бір өрнекте орындалған мән үнемі экран бетіне шығарыла бермеуі мүмкін. Ол басқа
өрнектің ішінде басқа мәнді есептеу үшін де қолданыла береді. Осындай жағдайда алдағы
есептеулерге қажетті мәндерді сақтау қажеттілігі туындайды. Ол мәндерді біз айнымалылар
көмегімен аты бар бірегей (уникалды) жады ұяшықтары ретінде қарастыра аламыз.
Айнымалыға кез келген мәнді беруге болады, кейінірек оларды компьютер жадынан шығарып
алып, кейінгі есептеулерде пайдалана аламыз. Айнымалы бір ғана мәнді сақтай алады. Егер
айнымалыға басқа мәнді меншіктейтін болсақ, онда алдыңғы мән жоғалып кетеді.
Айнымалыны жариялайық:
а = 10
Айнымалыны жариялаған кезде экранға ешқандай нәтиже шықпайды, өйткені меншіктеу
операторы нәтижені қайтармайды. Айнымалыны жарияламастан, оған мән беретін болсақ,
қате туралы ескерту аламыз.
Айнымалыға өрнектің нәтижесін де меншіктеуімізге болады:
b=2+3/4
немесе функциядан алынған мәнді де бере аламыз:
8
с = somefunction (1,2, 345)
Бір өрнекте бір мезгілде бірнеше айнымалыны пайдалану мысалы:
a,b,c = 10, 2 + 3 / 4, somefunсtion (1,2, 345).
Жарияланатын айнымалы мен олардың мәндері үтір арқылы бөлінеді. Бірінші айнымалыға бірінші мән, екінші айнымалыға екінші мән, т.с.с. болып меншіктеледі.
Қажет емес айнымалыларды del арқылы жоюға болады. Осы сөзден кейін жойылатын
айнымалыларды үтір арқылы тізбектеп жазуға болады. Мысалы:
del a, b
Мұнда а және b айнымалыларын жоямыз. Программада айнымалының саны көп бола
береді. Бірақ олардың аты бірін-бірі қайталамауы керек. Олар компьютер жадында белгілі бір
орын алатындықтан, қажеттен тыс артық айнымалыны пайдаланудың қажеті де жоқ.
Идентификатор аттары. Айнымалы атаулары идентификатордың бір түрі ғана. Идентификатор дегеніміз – бір нәрсені (айнымалыны, функцияны, т.с.с.) белгілеу үшін берілетін ат.
Оларға ат бергенде келесі ережелерді сақтаған жөн:
идентификатордың бірінші символы әліпбидегі әріп (жоғарғы не төменгі регистрдегі
ASCII немесе Unicode символы) немесе астын сызу белгісі ("_") болуы тиіс.
идентификатордың қалған бөлігі символдары әліпбидегі әріптерден, астын сызу
белгісінен, 1 мен 9 аралығындағы сандардан құрала алады.
идентификатор аты регистрге сезімтал келеді. Мысалы, myname және MyName екеуі
бірдей емес.
идентификатор аты мынадай түрлерде жазыла алады: і, _my name, name_23, а1b2_сЗ,
Aika12, т.с.с.
идентификатор аты мынадай түрлерде жазыла алмайды: 2things – цифрдан
басталмайды, Beke 3m – мұнда бос орындар бар, "my>b2" – тырнақшаға (") алынбайды
және ">" символын да қолдана алмаймыз.
Мәлімет түрлері. Айнымалылар мәлімет түрлері деп аталатын әртүрлі типтегі мәндерді
сақтай алады. Мәліметтің негізгі түрлері – сандар мен сөз тіркестері. Кластар көмегімен
өзіндік типтерді қалай құруға болатыны кейіннен айтылады.
Объектілер. Python ортасында берілгендердің бәрін де жалпы, олардың кең мағынасында,
объектілер ретінде қарастырады. Python программасында сандар, тіркестер, функциялар –
барлығы да объект болады. Python-да программа жазу жолы:
1. Komodo Edit редакторын ашыңыз.
2. Мысалда келтірілген программа мәтінін теріңіз.
3. Оны файлға сақтаңыз, атын түсініктемеде көрсетіңіз. Файл кеңейтілімі .ру болуы тиіс.
4. program.py арқылы python3 ортасы интерпретаторын іске қосыңыз.
Айнымалылар қарапайым түрде оларға мән беру арқылы қолданылады. Оларды алдын ала
жариялаудың немесе деректер түрін анықтаудың қажеті жоқ.
Логикалық және физикалық жолдар. Физикалық жол (line – строка) дегеніміз –
программаны компьютерге теріп жатқанда сіздің экранда бір жолда орналасқан жазуларыңыз.
Ал логикалық жол дегеніміз – Python-ның біртұтас сөйлем ретінде көретіні. Әдетте Python
әрбір физикалық жол логикалық жолға сәйкес келеді деп есептейді.
Логикалық жолға мысал ретінде print('Бүгін қай күн?') сөйлемін алуға болады, бірақ ол
сөйлем бір ғана жолға жазылуы керек. Бір жолға бір сөйлемді жазған ыңғайлы – кодты жылдам
түсінуге болады. Бір физикалық жолға бірнеше логикалық жолды жазу үшін араларын нүктелі
9
үтірмен (;) бөлу керек. Бұл белгі логикалық жолдың және логикалық сөйлемнің аяқталғанын
білдіреді. Мысалы,
і=5
print(i)
оны былай да жазуға болады:
і = 5; print(i);
және оны мынадай түрде де жазуға болады:
і = 5; print(i);
немесе мына түрде:
і = 5; print(i)
Бір жолға бір логикалық жолды жазған ыңғайлы, өйткені мұндайда нүктелі үтірді қоюдың
қажеті болмайды.
Азат жолдар. Python-да жол басында кездесетін бос орындардың маңызы үлкен. Оларды
азат жол деп атайды. Жол басындағы шегіністер (бос орындар мен табуляция) логикалық
жолдың деңгейін анықтауға көмектеседі, оны өз кезегінде бірнеше жолдарды (операторларды,
сөйлемдерді) топтастыру үшін қолданамыз. Бірге орындалатын сөйлемдердің азат жолдары
бірдей болуы тиіс. Мұндай сөйлем жиындары блок деп аталады. Бұрыс басталған азат жол
қателікке әкеледі. Мысалы,
і = 5
print('Mәтін құраймыз') # Қате! Жол басында бос орын
print("Тағы да мәтін қосамыз", і)
осы жолдарды орындағанда келесідей қате шыққанын көреміз:
print('Mәтін құраймыз') # Қате! Жол басында бос орын
^
IndentationError: unexpected indent
Екінші жолдың басында бір бос орын бар екеніне назар аударайық. Python программа
синтаксисі ереже бойынша жазылмаған деп көрсетіп отыр. Сөйлемдердің келесі жаңа блогын
кез келген азат жолдан бастай алмайсыз. Үнсіз келісім бойынша жазылатын негізгі блокты
санамағанда, әрине. Сонымен бірге бос орындар мен табуляция символдарын араластыруға
болмайды. Азат жолдың әрбір деңгейі үшін бір табуляция символы мен төрт бос орын
символын қолдануды ұсынамыз. Осындай қалыптасқан бір стильді үнемі қолданған жөн. Сол
сияқты, кейбір дайын программада ұсынылған стильді де жалғастырып отырған тиімді.
Komodo Edit редакторы мұны автоматты түрде жүзеге асырады.
Операторлар мен өрнектер
Python тілінде операторлардың орындалу приоритетін сақтау керек, яғни бірінші кезекте
көбейту және бөлу операторлары орындалады. Ал қосу мен азайту амалдарының приоритеті
олардан төмен. Егер операцияның приоритеті бірдей болса, онда олар солдан оңға қарай
кезекпен орындалады.
Операторлардың орындалу кезегін өзгерту үшін жай жақшалар қолданылады – олар ең
алдымен орындалатын операторларды көрсетеді.
(3 + 7) * (6 + 4)
Бұл өрнектің мәні 100 болады. Егер жақшаны алып тастайтын болсақ, нәтиже өзгереді:
3+7*6+4
10
Python алдымен 7-ні 6-ға көбейтеді, көбейтіндіге 3 пен 4-ті қосады. Нәтиже басқаша болып
шығады – 49.
Операторларды орындау реттілігі және олардың приоритеттері (бірінші кезекте
орындалатындары)
Бірінші өрнек мысалында біз + смиволын пайдаландық және осы символдың жанында
қатар тұрған екі санды қосу операциясын орындауға нұсқау бердік. Бұл жағдайда + оператор,
бір немесе екі операнд мәніне қарапайым амал орындайтын команда.
Программадағы көптеген сөйлемдер (логикалық жолдар) өрнектен құралған. Өрнекке
қарапайым мысал: 2 + 3. Өрнекті оператор мен операндтарға бөлуімізге болады. Оператор деп
амалдарды, ал операнд деп сандарды айтуға болады. Өрнектегі операндтар 2 және 3.
Мына мысалдарды теріп жазыңыз:
>>> 2 + 3
5
>>> 3 * 5
15
Жауабы бірден есептеліп отыр.
2+2 деген тізбекті өрнек деп атадық. Программалау тіліндегі өрнек термині – аяқталған ісәрекетті орындайтын команда. Өрнек – сандардың, айнымалылардың және функциялардың
арифметикалық амалдармен біріктірілген тізбегі. Қандай да бір мәнді есептеу, деректердің
қандай да бір құрылымын жасау, программалық кодты орындауды басқару, функцияны немесе
әдісті шақыру командасы іс-әрекет деп аталынады.
Python тіліндегі кез келген өрнек каретаны кері қайтару және жолды ауыстыру
символымен аяқталуы керек. Олар программалық кодқа батырмасын басу арқылы
қойылады.
Тағы да бірнеше өрнек қарастырайық.
>>> 3*4+8
3-ті 4-ке көбейтеміз, пайда болған көбейтіндіге 8-ді қосамыз және 20-ны аламыз. Көбейту
амалы қосу амалынан бұрын орындалады.
>>> 5/6 5-ті 6-ға бөлеміз және – 0,8333333333333334 мәнін аламыз.
Программадағы жолдың ретіне қарай іс-әрекеттер де рет-ретімен орыңдалады. Программа
кодын жазғанда кері шегіністерге мән беру аса маңызды болып табылады. Сондықтан, ісәрекет реттілігіне кіретін операторлардың барлығы да бірдей шегініспен жазылуы тиіс:
а=1
b=2
а=а+b
b=a-b
а = а-b
print (a, b)
Операторлар және оларды қолдану
Оператор Аты
Қосу
+
Азайту
*
Көбейту
**
Дәрежеге шығару
Түсіндірмесі
Екі объектіні қосады.
Екі санның айырмасын табады. Егер бірінші сан
жазылмаса, онда оны нөлге тең деп есептейді.
Екі санды көбейтеді немесе жолды берілген сан бойынша
қайталайды.
x санын у дәрежесіне шығарады.
11
/
//
%
<<
>>
&
|
^
~
<
>
<=
>=
==
!=
not
and
or
Бөлу
Бүтінсандық бөлу
Модуль бойынша
бөлу
Солға жылжу
x санын у санына бөледі.
Бүтін сандарды бөліп, бүтін бөлінді табуды іске асырады.
Бүтін сандарды бөліп, қалдықты көрсетеді.
Санның биттерін солға қарай бірнеше рет жылжытады. Кез
келген сан компьютер жадында биттік, яғни екілік жүйеде
бейнеленеді.
Оңға жылжу
Санның биттері тізбегін оңға қарай бірнеше позицияға
жылжытады.
Биттік ЖӘНЕ
Сандарға орындалатын биттік ЖӘНЕ операциясы
Биттік НЕМЕСЕ
Сандарға орындалатын биттік НЕМЕСЕ операциясы
Биттік ТЕК ҚАНА биттік ТЕК ҚАНА НЕМЕСЕ операциясы
НЕМЕСЕ
Биттік ЖОҚ
x саны үшін биттік ЖОҚ операциясы – (х+1)-ге тең.
Кіші
х-тің у-тен кіші екендігін анықтайды. Салыстыру
операторларының барлығы да True немесе False мәнін
қайтарады. Бұл сөздер бас әріппен жазылғанына назар
аудару керек.
Үлкен
х-тің у-тен үлкен екендігін анықтайды.
Кіші немесе тең
х-тің у-тен кіші немесе тең екендігін анықтайды.
Үлкен немесе тең х-тің у-тен үлкен немесе тең екендігін анықтайды.
Тең
Объектілердің тең екенін анықтайды.
Тең емес
Объектілердің тең емес екенін анықтайды.
Логикалық ЖОҚ
Егер х саны True болса, онда False мәнін қайтарады. Егер х
саны False болса, онда True деген мән береді.
Логикалық ЖӘНЕ Егер х саны False болса, х және у False деп есептеледі. Kepi
жағдайда у мәнін жазады.
Логикалық
Егер х саны True болса, онда True деп жазады. Кері
НЕМЕСЕ
жағдайда у мәнін жазады.
Математикалық операцияларды және меншіктеуді қысқаша жазуға болады.
а = 2; а = а*3
өрнегін
a = 2; a *= 3
түрінде жазуға болады.
«айнымалы=өрнектің айнымалы мәні»
түріндегі өрнектерді
«айнымалы операция=өрнек»
түрінде жазуға болады.
Есептеу тәртібі өзгешерек. Мысалы + 3 * 4 түрінде өрнек берілсе, көбейту амалының
бірінші орындалатыны мектеп курсынан белгілі. Көбейту амалының приоритеті қосу
амалынан басым. Келесі кестеде Python операторларының приоритеті көрсетілген. Кестенің
төменгі жағында орналасқан операторлар ең алдымен есептеледі де, кестенің жоғарғы
бөлігіндегілер соңында есептеледі.
Операторлар приоритеттері
оператор
сипаттамасы
lambda
лямбда-өрнек
12
or
and
not x
in, not in
is, is not
<, <=, >, >=, !=, ==
|
^
&
<< , >>
+, –
*, /, //, %
+х, -x
~х
**
x.attribute
X[индекс]
х [индекс1 :индекс2]
f(аргументтер ...)
(өрнектер, ...)
[өрнектер, ...]
{кілт:деректер,...}
Логикалық «немесе»
Логикалық «және»
Логикалық «емес»
Тәуелділігін тексеру
Теңдігін тексеру
салыстыру
Биттік «немесе»
Биттік «тек қана немесе»
Биттік «және»
Орын алмастыру
Қосу және азайту
Көбейту, бөлу, бүтінсандық бөлу
және бөлудің қалдығы
Теріс сан, оң сан
Биттік «емес»
Дәрежеге шығару
Атрибутқа сілтеме
Индекс бойынша іздеу
Қиып алу
Функцияны шақыру
Байланыс немесе кортеж
Тізім
Сөздік
Өрнекті есептеу ретін өзгерту үшін жай жақшаны қолдануға болады. Мысалы, 2+(3*4)
дегенді 2+3*4 деген өрнектен гөрі ұғыну жеңілірек.
Мысалды expression.py ретінде сақтаңыз.
length = 5
breadth = 2
area = length * breadth
print('Ауданы = ', area)
print ('Периметрі = ', 2 * (length + breadth))
Қорытындысы:
Ауданы = 10
Периметрі = 14
Бұл программа қалай жұмыс істейді? Тіктөртбұрыштың ұзындығы мен ені length және
breadth айнымалыларында сақталады. Оларды периметр мен ауданды есептеу үшін қолданамыз. Есептеу нәтижесі area айнымалысында сақталады да, print функциясы арқылы экранға
шығарылады. Екіншісінде 2 * (length + breadth) өрнегінің мәнін print функциясына бірден
қоямыз.
Функциялар
Функциялар дегеніміз – программаның қайталанып қолданылатын бөліктері. Олар
командалардың белгілі бір бөліктеріне ат беруге және одан кейін сол атымен осы блоктарды
көрсетілген атымен және программаның кез келген жерінен шексіз қайталап іске қосу үшін
керек. Оны функцияны шақыру деп атайды. Кірістірілген функцияларға len және range мысал
ретінде келтіруге болады.
13
Кез келген қарапайым емес программа үшін (кез келген программалау тілінде) аса
маңызды құрылым блогы болып табылады. Функцияны резервтелген def сөзі анықтайды. Осы
сөзден кейін функцияның аты көрсетіледі, одан кейін жай жақша ішінде айнымалылардың
атын көрсетуге болады және жолдың соңына қос нүкте қойылады. Бұдан кейін функцияны
құрайтын командалар блогы бірнеше шегініспен оңға жылжытылып жазылады.
Функцияны сипаттау үшін def түйінді (кілттік) сөзі қолданылады:
def<функцияның аты>(<функдия параметрлерінің тізімі>) :
<блок – функцияның денесі>
Функцияның аты қайталанбайтын болуы тиіс. Тізімде көрсетілген параметрлер үтірлермен бөлінеді, егер де функцияның параметрі болмайтын болса, оның атынан кейін бос
жақшалар қойылады.
Функциядан оның ішінде есептелген нәтижені қайтару үшін return операторы қолданылады. Нәтиже ретінде қайтарылатын мәндер осы оператордан кейін жазылады:
def pov2 (n):
return 2 ** n
Осы функция бір ғана параметр қабылдайды, 2 санын осы параметр мәніне сәйкес
дәрежеге шығарады және пайда болған нәтижені қайтарады.
Оны шақырайық:
а= pov2 (3)
Программаның нәтижесі 8 болып шығады.
Функцияны бірінші рет шақырудан бұрын оны жариялау керек. Егер жарияланбаған
функцияға сұраныс беретін болсақ, онда қате кеткені туралы хабарлама шығады.
def somefunc(n1, n2):
return n1 * 2, n2 / 2
Осы функция бірден екі параметр қабылдайды да, нәтижесі ретінде екі мәннен құралған
кортежді қайтарады. Оны екі айнымалыға меншіктей аламыз.
a, b = somefunc(4, 9)
Әріптік символдармен жасалынатын функцияға мысал келтірейік:
def sayHello():
print('Сәлем, Әлия!') # функцияға меншіктелетін блок
# Функция соңы
sayHello()
# функцияны шақыру
sayHello()
# функцияны тағы да бір шақыру
Нәтижесінде экранға мына жазу шығарылады:
$ python function1.py
Сәлем, Әлия!
Сәлем, Әлия!
Осы программаның жұмыс істеу жолын қарастырайық.
Жоғарыда сипатталған синтаксисті пайдалана отырып sayHello атты функцияны анықтадық. Бұл функция параметрлерді қабылдамайды, сондықтан жақша ішінде қандай да бір
айнымалылар жарияланған жоқ. Функцияның параметрлері дегеніміз – функцияға берілетін
кіріс деректері, соларды есептеу арқылы нәтиже пайда болады.
Бір функцияны бірнеше рет шақыра алатын болғандықтан, бір кодты қайта-қайта жазудың
қажеті жоқ.
14
Функция параметрлеріне тоқталсақ, функция өзіне параметрлер қабылдайды және
солармен қандай да бір амалдар орындай алады. Ол параметрлер айнымалыларға ұқсайды.
Айнымалының мәні функцияны шақырғанда көрсетіледі және функцияны орындау барысында оларға мән меншіктеліп қойылады. Параметрлер жақша ішіне жазылады және үтірлермен бөлінеді. Функцияны шақырғанда да біз осыған ұқсас мәндерді меншіктейміз.
Терминологияға мән беріңіздер: функцияны жариялаған кездегі аттар параметрлер деп, ал
функцияны шақырған кезде оған берілетін мәндер – аргумент деп аталады. Мысалы
(func_param.py ретінде сақтаңыз):
def printMax(a, b):
if a > b:
print(a, 'максималды')
elif a==b:
print(a, 'тең', b)
else:
print(b, 'максималды')
printMax(3,4) # мәндерді тікелей меншіктеу
x = 5
y = 7
printMax(y, x)
# айнымалыларды аргумент ретінде беру
Нәтижесі:
$ python func_param.py
4 максималды
7 максималды
Осы программаның жұмыс істеу жолын қарастырайық. Бұл жерде біз printMax деген аты
бар функцияны анықтадық. Ол а және b деген аты бар екі параметрді пайдаланады. Қарапайым
if..else операторын қолдана отырып үлкен санды табамыз. printMax функциясын бірінші per
шақырған кезде біз сандарды аргумент ретінде тікелей береміз. Екінші жағдайда біз айнымалылары бар функцияны аргумент ретінде шақырамыз. printMax(x, у) х аргументінің мәнін а
параметріне меншіктейді, ал у аргументінің мәнін b параметріне меншіктейді. Екі жағдайда да
printMax функциясы бірдей жұмыс істейді.
Айнымалыларды функция ішінде жариялаған кезде олар функцияның сыртындағы басқа
айнымалылармен ешқандай байланыста болмайды, ягни айнымалылардың аты функция
ішінде локальді болып табылады. Мұны айнымалының көріну аймағы деп атайды. Барлық
айнымалылардың көріну аймағы өздері жарияланған блокпен шектеледі және атын атаудан
басталады. Мысалы:
х = 50
def func(x):
print('x = ', x)
x = 2
print('Локальді х-ті ауыстыру', x)
func(x)
print('x бұрынғыша', x)
Нәтижесі:
$ python func local.py
х тең 50
Локальді х-ті ауыстыру 2
х бұрынғыша 50
Осы программаның жұмыс істеу жолын қарастырсақ, X аты меншіктелген мәнді бірінші
рет шығарғанда, функцияның бірінші жолында Python функцияны аныктаудан жоғарыдағы,
15
негізгі блокта жарияланған параметрдің мәнін пайдаланады. Одан кейін біз х-ке 2 мәнін
меншіктейміз. Олардың аты біздің функциямыз үшін локальді болып табылады. Функцияның
ішіндегі х мәнін ауыстырған кезде негізгі блокта жарияланған х өзгеріссіз қалады. Print
арқылы функцияны соңғы шақырған кезде біз негізгі блокта көрсетілген х-тің мәнін
шығарамыз. Локальді өзгеріс кезінде өзгермей, ол алдыңғы шақырылған функциядағы мәнінде қалғанын осылай
(әдістемелік құрал)
МАЗМҰНЫ
Алғы сөз.......................................................................................................... 3
Python тілінде программалауга кіріспе........................................................ 3
Python багдарламасын орнату....................................................................... 5
Программалық файлдарды қолдану............................................................. 6
Python тілінің негізгі ұгымдары.................................................................... 6
Операторлар мен өрнектер...........................................................................10
Функциялар....................................................................................................14
Python тілінде программа жазуға жаттыгу................................................. 17
Сөздіктер құру............................................................................................... 19
Файлдармен жұмыс істеу..............................................................................20
if, else инструкциясы..................................................................................... 21
while циклі...................................................................................................... 23
Енгізу/шығару................................................................................................ 26
Python тіліндегі объектіге бағытталған программалау.............................. 27
Web-сайтты Django кітапханасы негізінде Python тілінде құру............... 33
Тапсырмалар және оларды орындау әдістері..............................................43
СӨЖ орындауга арналған тапсырмалар......................................................44
Әдебиеттер тізімі............................................................................................46
2
Алғы сөз
Қазіргі уақытта Python қолданбалы программалық жасақтамаларды жасау барысында
(мысалы, linux-утилиттерді yum, pirut, system-config-*, ІМ-клиент Gajim және т.б.), web-қосымшаларды жасауда (қуатты Zope Application-сервері және соның негізінде жасалған CMS
Plone, ал Орталықтандырыпған барлау басқармасы сайты, Plones, Django, TurboGears қосымшаларын жылдам жасауға арналған фреймворктер соның негізінде жұмыс істейді), көптеген
ойындарда, OpenOffice.org, Blender 3d редакторында, Postgre деректер қорында кірістірілетін
скриптілік тіл ретінде пайдаланылады, ғылыми есептеулерде (мысалы, MatLab сияқты
пакеттермен тең түсетін SciPy және numPy, графиктерді салатын PyPlot пакетінде есептеу)
кеңінен қолданылады.
Python – меңгеруге жеңіл программалау тілі. Деректер құрылымдарын жоғары деңгейде
тиімді етіп көрсетуге мүмкіндік береді, объектілі-бағытталған программалау тіліне үйренудің
тиімді жолы. Синтаксисі мен динамикалық типтендіру, сонымен катар интрепретаторлы
болуы әртүрлі саланың қосымшаларын көптеген платформаларда жылдам жасауға мүмкіндік
береді. Мүнда қарапайым командалық скриптерді де, күрделі үстелдік және веб- қосымшалар
жасауға да болады. Сонымен бір комплектіде өте бай стандартты кітапхана беріледі. Онда
мәтінді өңдеудің күрделі құралдары, шифрлеу, файлдармен жұмыс, интернет арқылы
деректер алмасу және т.б. көптеген күрделі құрал-саймандар бар.
Оқу-әдістемелік құралда Python синтаксисі, ол қолдайтын деректер типі, кластармен,
объектілермен жұмыс істейтін басқару құралдары сипатталған.
¥сынылып отырған құралда Python тілінің негізгі ұғымдары – өрнек, оператор, функция,
айнымалы, сан, жол, тізім, логикалық шамалар, типтерді түрлендіру, кодтың орындалуын
басқару, блок, шартты өрнек, цикл, шартты цикл, тізім циклі, кластар, объектілер,
түсініктемелер, модуль, пакеттер, импорттау, стандартты кітапханалар, сыртқы кітапханалар,
Notepad ++ мәтіндік редакторы ұғымдары мысалдар негізінде талданған.
Теориялық материалмен бірге тәжірибелік сабақтарды жүргізуге арналған программа
мысалдары, интербелсенді интернет қорлар т.б. берілген.
СӨЖ орындауға арналған тапсырмапар бейнесабақтарға сілтеме жасай отырып
құрастырылған.
Әдебиеттер тізімі интернет-қорлармен бірге ұсынылып отыр. Студенттің өз бетімен
программа құрып үйренуіне үлкен мән берілген – тапсырмаларды орындау туралы нақгы
әдістемелік нүсқаулар берілген және қажетті түстарында программаны орындау қадамдары
мысалдармен, оларды орындағаннан соң экранға шығатын нәтижені көрсету арқылы
ұғындырылған.
Python тілінде программалауға кіріспе
Python тілі туралы оның негізін қалаушы голландиялық программалаушы Гвидо ван
Россум былай дейді:
"Python – интерпретацияланатын, объектіге бағытталған программалаудың жоғары
деңгейдегі динамикалы семантикасы бар тіл. Кірістірілген жоғары деңгейлі құрылымдар
динамикалық типтендірумен және байланыстырумен қатар тілді қосымшаларды жылдам
программалау үшін қызықты етіп көрсетеді (RAD, Rapid Application Development). Сонымен
қатар, оны программалар құрамдастарын байланыстыратын сценарийлік тіл ретінде пайдалануға болады. Python синтаксисі өте қарапайым, онда кодты оқу түсінікті болуына мән
беріледі, сол арқылы программалық өнімді құрастыру шығыны азаяды. Python ішінде
3
модульдер мен пакеттерге қолдау жасау қарастырылған. Кодты қайталап қолдануға болады.
Python интерпретаторы және көлемді стандарт кітапханалар бастапқы және орындалатын код
ретінде барлық негізгі платформаларда қолжетімді және тегін таратыла алады.»
Python – программалаудың әмбебап тілі. Оның артықшылықтарымен бірге кемшіліктері
де бар, сол сияқты қолданылу аясы да анықталған. Python-мен қатар көптеген міндеттерді
шешуге көмек беретін өте үлкен көлемді стандарт™ кітапхана ұсынылады. Интернетте
әртүрлі сала бойынша Python-ra арналған сапалы кітапханалар саны көп: мәтіндерді өңдеу мен
Интернет-технологиялар, суреттер мен бейнелерді өңдеу, қосымшаларды жасайтын механизмдер, деректер қорына қолжтемділікті қамтамасыз ететін, ғыпыми есептеулерге арналған
пакеттер, графикалық интерфейсті құру кітапханалары және т.б. Сонымен қатар, С, C++ (және
Java) тілдеріне интерпретаторды кірістірудің (embedding) қарапайым құралдары және сол
тілдерде жазылған программаларды Python тіліне кірістіретін құралдар да бар. Python тілі
программалаудың бірнеше парадигмасын қолдайды: императивтік (процедуралық, құрылымдық, модульдік көзқарастар), объектілі бағытталған және функционалды программалау.
Java платформасындағы және С компиляторы бар 32 және 64 биттік платформалардың
барлығына да қолжетімді.
C/C++, Java, Visual Basic, С#-тан басқа программалау тілдері қолданылмайтындай
көрінеді. Бірақ осы құралды оқи отырып, Python тілінің жақтаушылары да пайда болатынына
сенуге болады. Тілдің сипаттамасы. Бұл құрал басқа нұсқаулықтарды қайталауды мақсат етіп
отырған жоқ. Әртүрлі қырынан қарай отырып, нақты программалауға үйретуді көздеп отыр.
Программаны құру дегеніміз – программалаушы мен компьютер арасындағы коммуникация,
соның нәтижесінде программалаушы компьютерге белгілі бір іс-әрекеттерді орындауға
бұйрық береді. Іс-әрекеттерді программалаушының түсінуі – семантика деп аталады. Осы
магынаны синтаксис көмегімен жазу қажет. Берілген ақпаратқа интерпретатордың орындайтын амалы прагматика деп аталады. Программаны жазған кезде осы тізбектің ішінде іркілу
болмау керек.
Синтаксис – толығымен формалданған бөлік: оны синтаксистік диаграммалар тілінде
(анықтамалық нұсқаулықтар сияқты) сипаттауға болады. Интерпретатор синтаксис бойынша
жазылған «бұйрықтарды» езіндегі алгоритмге сәйкес іс-әрекеттерге айналдырады. Семантика
ғана формалды емес құрамдас болып қала береді. Мағынаны формалды сипаттауға ауысгырған кезде программалаудың ең қиын
күрделілігі туындайды. Python синтаксисі
программалаушының мәселесін интерпретатордың ұғынуына жақындатады. Python тілінің
тарихына қысқаша тоқталсақ, 1991 жылы Гвидо ван Россум (Guido van Rossum) бірнеше желіге таратылатын Амеба операциялық жүйесін жасау барысында осы тілді құрастырды. Жүйелі
сын-тегеуріндерге жауап бере алатын кеңейтілген тіл кажет болды. Негізі ретінде ABC және
Модула-3 алынды. Тілдің атауы ретінде жыланның аты емес, ВВС телеарнасынан көрсетілетін
«Летающий цирк Монти-Пайтона» комедиялық сериалы алынды. Содан бері Гвидо ван
Россум жұмыс істеген ұйымдардың барлығында да Python тілі қолданыла бастады. Қазір тілді
дамытуға программалаушылардың қауымдастығы да кірісті.
4
Python программасын орнату
Windows-қа орнату
http://www.python.org/download/ бетінен программаның соңғы нүсқасын жүктеп алып,
басқа программалар сняқты орнатуға болады. Кейбір опционалдық программаларды өшіру
ұсынылса да, олардың ешқайсысын өшірудің қажеті жоқ. Олардың кейбірі, әсіресе IDLE қажет
болып қалуы мүмкін.
Windows командалық жолынан Python-ды қолдану үшін, яғни DOS-ты шақыру үшін
PATH айнымалысын қажетті тәртіппен орнату керек.
Windows 2000, ХР, 2003 үшін «Басқару панелі» «Жүйе» «Қосымша» «Айнымалы
орталар» деген жолмен жүру керек. «Жүйелі айнымалылар» бөліміндегі PATH айнымалысын
басу керек. Осыдан кейін «Редакторлау» таңдап, ондағы жазудың соңына ;C:\Python33 деп
жазып аяктаңыз.
Windows 7 үшін:
1. Жұмыс үстеліндегі «Компьютер» батырмасына тышқанның оң жағын басыңыз және
«Қасиеттері» таңдаңыз немесе «Бастау» «Басқару панелі» «Жүйе және қауіпсіздік»
«Жүйе» басыңыз. «Жүйенің қосымша параметрлері» сол жақтан басыңыз, содан кейін
«Қосымша» ішкі бетін (вкладкасын) басыңыз. Төменірек «Айнымалы орталар»
батырмасын басыңыз және «Жүйелі айнымалылар» бөлімінің ішінен PATH айнымалысын
табыңыз. Оны таңдап, «Редакциялау» батырмасын басыңыз.
2. «Айнымалының мәні» өрісіндегі жолдың соңына ;C:\Python33 деп жазыңыз.
3. Егер айнымалының мәні %SystemRoot%\system32; болса, енді ол
%SystemRoot%\system32;C:\Python33 түрінде болады.
4. «ОК» басу керек, қайта жүктеудің қажеті жоқ.
Интерпретатордың командалық жолын қолдану
Терминал терезесін ашып, Python интерпретаторын іске қосыңыз: python3 командасын
теріп, Enter-ді теріңіз.
Windows-ті қолданушылар PATH айнымалысын дұрыс орнатқан жағдайда, командалық
жолдан интерпретаторды іске қоса алады. Windows-тың командалық жолын ашу үшін
«Бастау» менюінен «Орындау...» басу керек. Пайда болған командалық жолдан «cmd» теріп,
Enter-ді басу керек. DOS командалық жолында python-мен жұмыс істеуге болады.
IDLE қолданған жағдайда, «Бастау» «Программалар» «Python 3.0» «IDLE (Python
GUI)».
python3-тi іске қосқан соң, >>> белгісінің жол басында түрғанын көреміз. Бұл Python
интерпретаторының командалық жолы деп аталады.
Енді print('Hello World') теріңіз және Enter батырмасын басыңыз. Нәтижесінде “Hello
World” пайда болады.
Python жұмыс нәтижелерін бірден экранға шығарады. Сонымен бірге, бастапқыда Komodo
Edit программасының көмегіне жүгінген жөн. Ол Windows, Mac OS X и GNU/Linux программаларымен істеуге арналған.
Редакорды таңдау кезінде мынаған мән берген жөн. Интерпретатордың командалық
жолында әр кез сайын программаны тере алмайтын болғандықтан, және файлдарды сақтау,
қайтадан іске қосу үшін программа файлдарымен жұмыс істейтін редактор қажет.
Программаны терген кезде қажетті элементтер әртүрлі түске боялған, орындау барысында
қайта-қайта түзету жасауға мүмкіндік беретін Komodo Edit редакторы бар.
Windows-ты пайдаланатын болсаңыз, Блокнотты қолдану қиындық тудырады, онда
синтаксисті жарықтандыру функциясы жоқ, автоматты түрде азат жолдар қоя алмайды, ал
Komodo Edit программасында бұлардың барлығы бар және автоматты түрде қойылады.
5
Программалық файлдарды қолдану
Редакторды іске қосып, келесі программаны енгізіңіз және оны helloworld.py деген атпен
сақтаңыз.
Егер Komodo Edit қолдансаңыз, «Файл» «Жаңа» «Жаңа файл» таңдаңыз, келесі
жолды енгізіңіз:
print('Бүгін қай күн?')
Komodo Edit-те «Файл» «Сақтау» менюін басып, файлды сақтаңыз.
Файлды өзіңіз білетін кез келген бумаға сақтауыңызға болады немесе Python-ды:
Windows-та С:\\ру
GNU/Linux-та /tmp/py
Mac OS Х-та /tmp/py бумаларында сақтауға болады.
Бума құру үшін терминалдағы mkdir бұйрығын қолдануға болады. Мысалы,
mkdir /tmp/py
.ру файл кеңейтілімін көрсетуді ұмытпау аса маңызды. Мысалы. «file.ру».
Komodo Edit программасында «Инструменттер» «Бастау команды» басыңыз және
python3 деп жазыңыз.
helloworld.py және «Орындау» басыңыз. Төмендегі скриншоттағыдай экран пайда болуы
керек.
Сонда да программаны Komodo Edit ішінде редакциялаған тиімді, ал іске қосу үшін
терминалға жіберген жөн:
1. Windows-қа орнату тарауында көрсетілгендей терминалды ашыңыз.
2. Файлды сақғаған каталогыңызға өтіңіз. Мысалы, cd /tmp/ру.
3. python3 helloworld.py бұйрығын енгізе отырып, бағдараламаны іске қосыңыз.
Программаны шығару төмендегідей болады:
$ python3 helloworld.py
Бүгін қай күн?
Осындай нәтижеге келсеңіз, Python тіліндегі алғаш программаны іске қостыңыз. Python
регистрге сезімтал келеді: print және бас әріппен жазылған Print екеуінің айырмашылығы бар.
Бірінші символдың алдында бос орын немесе табуляция символы жоқ.
Python программасы өрнектерден құралған. Біз құрған алғашқы программада бір ғана
өрнек бар, ол өрнек көмегімен print функциясын шақырамыз.
Python тілінің негізгі үғымдары
Python тілінде деректер ретінде сандар, жол, тізім, кортеж (өзгертуге болмайтын тізім),
сөздік (элементтеріне индекс қойылған тізім), логикалық өлшемдер т.б. қолданылады.
Литералды константалар. Литералды константа 5, 1.23, 9.25е-3 сияқты сандар; 'Бұл жол'
немесе "It's a string!" сияқты сөйлемдер болуы мүмкін. Олар тұрақты, бір ғана мағынасы бар
болғандықтан, литерал шамалар деп аталады.
Сандар. Python-да үш түрлі сандар бар: бүтін, жылжымалы нүктелі және комплекс
сандар.
• Бүтін санға мысал: 2.
• Жылжымалы нүктесі бар санға мысал: 3.23 және 52.3Е-4. Е белгісі 10 санының дәрежесін
көрсетеді.
6
• Комплекс сандарға мысал: (-5+4j) және (2.3 – 4.6j)
Ескерту: ‘long int’ (ұзын бүтін сан) деген жеке тип жоқ. Бүтін санның ұзындығы еркін
түрде болады.
Қосу, азайту, көбейту және бөлу амалдары басқа тілдердегідей (мысалы, С, Java) жұмыс
істейді, бірақ дәрежеге шығару ** амалы арқылы өзгеше орындалады. Өрнектерді топтастыру
үшін жақшаны қолдануға болады. Төмендегі айнымалылардың мәнін өзгертіп, нәтижені көр.
Жақша, бірнеше сандар арқылы өрнектер жазып үйрен және экранға шығар.
a = 24 + 2 #
b = 2 - 20 #
c = 12 * 6 #
d = 12/1.2 #
e = 34**2
#
print("a-->",
print("b-->",
print("c-->",
print("d-->",
print("e-->",
Қосу
Азайту
Көбейту
Бөлу
Дәрежелеу
a)
b)
c)
d)
e)
a--> 26
b--> -18
c--> 72
d--> 10.0
e--> 1156
Сөз тіркестері. Сөз тіркестері немесе тіркестер (string – строка) дегеніміз – бірбірімен жалғасқан символдар тізбегі. Көбінесе олар сөздер жиынынан тұрады. Мұндағы
Unicode стандарты бойынша жазылатын тіркестер кез келген тілдегі (қытай, араб, жапон,
т.б.) сөздер мен сөйлемдерді таңбалауға мүмкіндік береді.
Ескерту: Python 3 программасында ASCII кодындағы таңбалар жоқ, өйткені ASCII
таңбалары Unicode құрамына енгізілен. Егер ASCII кодындағы сөзді жазу керек болатын болса,
str.encode("ascii") командасын қолдану керек. Жалпы мұнда келісім бойынша символдардың
бәрі де Unicode арқылы беріледі.
Тіркестер (қысқаша str) кез келген мәтіндік ақпаратты жазу үшін қажет. Олар бір-біріне
жалғасқан символдар тізбегі болып келеді. Python программалау тіліндегі тіркестердің
барлығы да Unicode арқылы кодталған символдар болып табылады. Тіркестерге қолданылған
операциялардың ешқайсысы да бастапқы берілген тіркесті өзгертпеуі тиіс. Тіркестер қостырнақша немесе жалқы тырнақшамен (апостроф) қоршалып жазылады ("тіркескен символдар" немесе 'символдар тіркестері'). Тіркестерді өңдейтін операциялар нәтижесінде жаңа
тіркестер пайда болады, бірақ бастапқы берілген тіркестер тұрақты түрде сақталуы тиіс,
тіркес құрылған соң, оны өзгертуге болмайды. Егер оларды өңдеп өзгертетін болсақ, басқа
атпен сақтау қажет.
Тіркестерді тырнақшалармен қоршап жазу кезінде олардың ішіндегі бос орындар мен
табуляция белгілері де бір символ болып саналады. Қос тырнақшалар мен жалқы тырнақшалар
бірдей мағынада қолданылады. Мысалы, "What's your name?"
Python тілінде үшем жалқы тырнақшалар (''') да қолданылады. Олар бірнеше жолдардан
тұратын түсініктемелердің (комментарийлердің) алды-артына қойылады.
Тіркестерді біріктіру. Егер екі тіркес жалғаса қатар жазылатын болса, Python оларды
автоматты түрде біріктіріп жібереді. Мысалы, 'What\'s ' 'your name?' автоматты түрде "What's
your name?" түріне айналады. C/C++ тілдерінде программа жасайтындар Python тілінде char
(символ) жеке мәліметтер түрінің жоқ екеніне назар аударуы тиіс. Оған аса қажеттілік те
туындамайды. Реrl/РНР тілдерінде программа жасайтындар жалқы тырнақшамен қоршалып
жазылатын тіркес пен қос тырнақша арқылы жазылған тіркестер арасында ешқандай айырмашылық жоқ екенін есте сақтағаны жөн.
format әдісі. Кейде қандай да бір мәліметтер негізінде жаңа тіркестер құрастыру керек
болып жатады, ондай жағдайда format әдісі (функциясы) қолданылады.
Келесі тіркестерді теріп, оларды str_format.py файлына жазып сақтаңыз:
7
age = 19
name = 'Азат'
print('{0} биыл {1} жаста.'. format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Бұл программа нәтижесі мынадай түрде болады:
Азат биыл 19 жаста.
Енді Азат Python тілінде программалауды үйреніп жүр.
Бұл программа қалай жұмыс істейді:
Тіркес ішіне қандай да бір жаңа символдарды енгізуімізге болады, ол үшін format әдісі
қолданылады. Жоғарыда келтірілген мысалдағы {0} деген жазу үтірден кейінгі алғашқы
тұрған name айнымалысы мәнін шығаруды көрсетеді, ол format әдісінің бірінші аргументі
болып табылады. Соған ұқсас, {1} деген екінші жазу age айнымалысына сәйкес келеді де, ол
format әдісінін екінші аргументі болып табылады. Python санауды 0-ден бастайды, сондықтан,
бірінші позиция – 0 нөмірі, екінші – 1 нөмірі және т.с.с. болып жалғаса береді.
Үш тіркесті де бірден біріктіре салуға болатын еді:
name + ' биыл ' + str(age) + ' ' жаста екен.',
бірақ мұндай жағдайларда қателесіп кетуге болады. Жалпы, format әдісі арқылы тіркестерді
түрлендіру автоматты түрде іске асады. Оған қоса, format әдісін қолданғанда айнымалыларға
тиіспей шығарылатын тіркестік мәліметтерді (мәтіндерді) өзгертіп отыру мүмкіндігі бар.
Сандарды жоғарыдағыдай түрде жазу міндетті емес. Оларды басқаша да жазуға болар еді:
age = 19
name = 'Азат'
print('{} биыл {} жаста.'.format(name, age))
print('Енді {0} Python тілінде программалауды үйреніп жүр.'.format(name))
Мұның да нәтижесі алдыңғыдай болады. Сонымен, format әдісі арқылы әрбір аргументтің
мәнін өзіміз қалаған орынға қоя алады екенбіз.
Айнымалылар. Айнымалылар – компьютер жадындағы белгілі бір аймақ болғандықтан,
оларға қол жеткізе білу керек. Сондықтан айнымалыларға ат қойылады. Айнымалының мәні
әртүрлі болуы мүмкін. Біз қарастырған өрнектер мәнді бір ғана әрекет нәтижесінде есептеп
берген еді. Алайда көптеген жағдайда бір мезгілде бірнеше өрнектерді орындау керек болады.
Немесе бір өрнекте орындалған мән үнемі экран бетіне шығарыла бермеуі мүмкін. Ол басқа
өрнектің ішінде басқа мәнді есептеу үшін де қолданыла береді. Осындай жағдайда алдағы
есептеулерге қажетті мәндерді сақтау қажеттілігі туындайды. Ол мәндерді біз айнымалылар
көмегімен аты бар бірегей (уникалды) жады ұяшықтары ретінде қарастыра аламыз.
Айнымалыға кез келген мәнді беруге болады, кейінірек оларды компьютер жадынан шығарып
алып, кейінгі есептеулерде пайдалана аламыз. Айнымалы бір ғана мәнді сақтай алады. Егер
айнымалыға басқа мәнді меншіктейтін болсақ, онда алдыңғы мән жоғалып кетеді.
Айнымалыны жариялайық:
а = 10
Айнымалыны жариялаған кезде экранға ешқандай нәтиже шықпайды, өйткені меншіктеу
операторы нәтижені қайтармайды. Айнымалыны жарияламастан, оған мән беретін болсақ,
қате туралы ескерту аламыз.
Айнымалыға өрнектің нәтижесін де меншіктеуімізге болады:
b=2+3/4
немесе функциядан алынған мәнді де бере аламыз:
8
с = somefunction (1,2, 345)
Бір өрнекте бір мезгілде бірнеше айнымалыны пайдалану мысалы:
a,b,c = 10, 2 + 3 / 4, somefunсtion (1,2, 345).
Жарияланатын айнымалы мен олардың мәндері үтір арқылы бөлінеді. Бірінші айнымалыға бірінші мән, екінші айнымалыға екінші мән, т.с.с. болып меншіктеледі.
Қажет емес айнымалыларды del арқылы жоюға болады. Осы сөзден кейін жойылатын
айнымалыларды үтір арқылы тізбектеп жазуға болады. Мысалы:
del a, b
Мұнда а және b айнымалыларын жоямыз. Программада айнымалының саны көп бола
береді. Бірақ олардың аты бірін-бірі қайталамауы керек. Олар компьютер жадында белгілі бір
орын алатындықтан, қажеттен тыс артық айнымалыны пайдаланудың қажеті де жоқ.
Идентификатор аттары. Айнымалы атаулары идентификатордың бір түрі ғана. Идентификатор дегеніміз – бір нәрсені (айнымалыны, функцияны, т.с.с.) белгілеу үшін берілетін ат.
Оларға ат бергенде келесі ережелерді сақтаған жөн:
идентификатордың бірінші символы әліпбидегі әріп (жоғарғы не төменгі регистрдегі
ASCII немесе Unicode символы) немесе астын сызу белгісі ("_") болуы тиіс.
идентификатордың қалған бөлігі символдары әліпбидегі әріптерден, астын сызу
белгісінен, 1 мен 9 аралығындағы сандардан құрала алады.
идентификатор аты регистрге сезімтал келеді. Мысалы, myname және MyName екеуі
бірдей емес.
идентификатор аты мынадай түрлерде жазыла алады: і, _my name, name_23, а1b2_сЗ,
Aika12, т.с.с.
идентификатор аты мынадай түрлерде жазыла алмайды: 2things – цифрдан
басталмайды, Beke 3m – мұнда бос орындар бар, "my>b2" – тырнақшаға (") алынбайды
және ">" символын да қолдана алмаймыз.
Мәлімет түрлері. Айнымалылар мәлімет түрлері деп аталатын әртүрлі типтегі мәндерді
сақтай алады. Мәліметтің негізгі түрлері – сандар мен сөз тіркестері. Кластар көмегімен
өзіндік типтерді қалай құруға болатыны кейіннен айтылады.
Объектілер. Python ортасында берілгендердің бәрін де жалпы, олардың кең мағынасында,
объектілер ретінде қарастырады. Python программасында сандар, тіркестер, функциялар –
барлығы да объект болады. Python-да программа жазу жолы:
1. Komodo Edit редакторын ашыңыз.
2. Мысалда келтірілген программа мәтінін теріңіз.
3. Оны файлға сақтаңыз, атын түсініктемеде көрсетіңіз. Файл кеңейтілімі .ру болуы тиіс.
4. program.py арқылы python3 ортасы интерпретаторын іске қосыңыз.
Айнымалылар қарапайым түрде оларға мән беру арқылы қолданылады. Оларды алдын ала
жариялаудың немесе деректер түрін анықтаудың қажеті жоқ.
Логикалық және физикалық жолдар. Физикалық жол (line – строка) дегеніміз –
программаны компьютерге теріп жатқанда сіздің экранда бір жолда орналасқан жазуларыңыз.
Ал логикалық жол дегеніміз – Python-ның біртұтас сөйлем ретінде көретіні. Әдетте Python
әрбір физикалық жол логикалық жолға сәйкес келеді деп есептейді.
Логикалық жолға мысал ретінде print('Бүгін қай күн?') сөйлемін алуға болады, бірақ ол
сөйлем бір ғана жолға жазылуы керек. Бір жолға бір сөйлемді жазған ыңғайлы – кодты жылдам
түсінуге болады. Бір физикалық жолға бірнеше логикалық жолды жазу үшін араларын нүктелі
9
үтірмен (;) бөлу керек. Бұл белгі логикалық жолдың және логикалық сөйлемнің аяқталғанын
білдіреді. Мысалы,
і=5
print(i)
оны былай да жазуға болады:
і = 5; print(i);
және оны мынадай түрде де жазуға болады:
і = 5; print(i);
немесе мына түрде:
і = 5; print(i)
Бір жолға бір логикалық жолды жазған ыңғайлы, өйткені мұндайда нүктелі үтірді қоюдың
қажеті болмайды.
Азат жолдар. Python-да жол басында кездесетін бос орындардың маңызы үлкен. Оларды
азат жол деп атайды. Жол басындағы шегіністер (бос орындар мен табуляция) логикалық
жолдың деңгейін анықтауға көмектеседі, оны өз кезегінде бірнеше жолдарды (операторларды,
сөйлемдерді) топтастыру үшін қолданамыз. Бірге орындалатын сөйлемдердің азат жолдары
бірдей болуы тиіс. Мұндай сөйлем жиындары блок деп аталады. Бұрыс басталған азат жол
қателікке әкеледі. Мысалы,
і = 5
print('Mәтін құраймыз') # Қате! Жол басында бос орын
print("Тағы да мәтін қосамыз", і)
осы жолдарды орындағанда келесідей қате шыққанын көреміз:
print('Mәтін құраймыз') # Қате! Жол басында бос орын
^
IndentationError: unexpected indent
Екінші жолдың басында бір бос орын бар екеніне назар аударайық. Python программа
синтаксисі ереже бойынша жазылмаған деп көрсетіп отыр. Сөйлемдердің келесі жаңа блогын
кез келген азат жолдан бастай алмайсыз. Үнсіз келісім бойынша жазылатын негізгі блокты
санамағанда, әрине. Сонымен бірге бос орындар мен табуляция символдарын араластыруға
болмайды. Азат жолдың әрбір деңгейі үшін бір табуляция символы мен төрт бос орын
символын қолдануды ұсынамыз. Осындай қалыптасқан бір стильді үнемі қолданған жөн. Сол
сияқты, кейбір дайын программада ұсынылған стильді де жалғастырып отырған тиімді.
Komodo Edit редакторы мұны автоматты түрде жүзеге асырады.
Операторлар мен өрнектер
Python тілінде операторлардың орындалу приоритетін сақтау керек, яғни бірінші кезекте
көбейту және бөлу операторлары орындалады. Ал қосу мен азайту амалдарының приоритеті
олардан төмен. Егер операцияның приоритеті бірдей болса, онда олар солдан оңға қарай
кезекпен орындалады.
Операторлардың орындалу кезегін өзгерту үшін жай жақшалар қолданылады – олар ең
алдымен орындалатын операторларды көрсетеді.
(3 + 7) * (6 + 4)
Бұл өрнектің мәні 100 болады. Егер жақшаны алып тастайтын болсақ, нәтиже өзгереді:
3+7*6+4
10
Python алдымен 7-ні 6-ға көбейтеді, көбейтіндіге 3 пен 4-ті қосады. Нәтиже басқаша болып
шығады – 49.
Операторларды орындау реттілігі және олардың приоритеттері (бірінші кезекте
орындалатындары)
Бірінші өрнек мысалында біз + смиволын пайдаландық және осы символдың жанында
қатар тұрған екі санды қосу операциясын орындауға нұсқау бердік. Бұл жағдайда + оператор,
бір немесе екі операнд мәніне қарапайым амал орындайтын команда.
Программадағы көптеген сөйлемдер (логикалық жолдар) өрнектен құралған. Өрнекке
қарапайым мысал: 2 + 3. Өрнекті оператор мен операндтарға бөлуімізге болады. Оператор деп
амалдарды, ал операнд деп сандарды айтуға болады. Өрнектегі операндтар 2 және 3.
Мына мысалдарды теріп жазыңыз:
>>> 2 + 3
5
>>> 3 * 5
15
Жауабы бірден есептеліп отыр.
2+2 деген тізбекті өрнек деп атадық. Программалау тіліндегі өрнек термині – аяқталған ісәрекетті орындайтын команда. Өрнек – сандардың, айнымалылардың және функциялардың
арифметикалық амалдармен біріктірілген тізбегі. Қандай да бір мәнді есептеу, деректердің
қандай да бір құрылымын жасау, программалық кодты орындауды басқару, функцияны немесе
әдісті шақыру командасы іс-әрекет деп аталынады.
Python тіліндегі кез келген өрнек каретаны кері қайтару және жолды ауыстыру
символымен аяқталуы керек. Олар программалық кодқа
қойылады.
Тағы да бірнеше өрнек қарастырайық.
>>> 3*4+8
3-ті 4-ке көбейтеміз, пайда болған көбейтіндіге 8-ді қосамыз және 20-ны аламыз. Көбейту
амалы қосу амалынан бұрын орындалады.
>>> 5/6 5-ті 6-ға бөлеміз және – 0,8333333333333334 мәнін аламыз.
Программадағы жолдың ретіне қарай іс-әрекеттер де рет-ретімен орыңдалады. Программа
кодын жазғанда кері шегіністерге мән беру аса маңызды болып табылады. Сондықтан, ісәрекет реттілігіне кіретін операторлардың барлығы да бірдей шегініспен жазылуы тиіс:
а=1
b=2
а=а+b
b=a-b
а = а-b
print (a, b)
Операторлар және оларды қолдану
Оператор Аты
Қосу
+
Азайту
*
Көбейту
**
Дәрежеге шығару
Түсіндірмесі
Екі объектіні қосады.
Екі санның айырмасын табады. Егер бірінші сан
жазылмаса, онда оны нөлге тең деп есептейді.
Екі санды көбейтеді немесе жолды берілген сан бойынша
қайталайды.
x санын у дәрежесіне шығарады.
11
/
//
%
<<
>>
&
|
^
~
<
>
<=
>=
==
!=
not
and
or
Бөлу
Бүтінсандық бөлу
Модуль бойынша
бөлу
Солға жылжу
x санын у санына бөледі.
Бүтін сандарды бөліп, бүтін бөлінді табуды іске асырады.
Бүтін сандарды бөліп, қалдықты көрсетеді.
Санның биттерін солға қарай бірнеше рет жылжытады. Кез
келген сан компьютер жадында биттік, яғни екілік жүйеде
бейнеленеді.
Оңға жылжу
Санның биттері тізбегін оңға қарай бірнеше позицияға
жылжытады.
Биттік ЖӘНЕ
Сандарға орындалатын биттік ЖӘНЕ операциясы
Биттік НЕМЕСЕ
Сандарға орындалатын биттік НЕМЕСЕ операциясы
Биттік ТЕК ҚАНА биттік ТЕК ҚАНА НЕМЕСЕ операциясы
НЕМЕСЕ
Биттік ЖОҚ
x саны үшін биттік ЖОҚ операциясы – (х+1)-ге тең.
Кіші
х-тің у-тен кіші екендігін анықтайды. Салыстыру
операторларының барлығы да True немесе False мәнін
қайтарады. Бұл сөздер бас әріппен жазылғанына назар
аудару керек.
Үлкен
х-тің у-тен үлкен екендігін анықтайды.
Кіші немесе тең
х-тің у-тен кіші немесе тең екендігін анықтайды.
Үлкен немесе тең х-тің у-тен үлкен немесе тең екендігін анықтайды.
Тең
Объектілердің тең екенін анықтайды.
Тең емес
Объектілердің тең емес екенін анықтайды.
Логикалық ЖОҚ
Егер х саны True болса, онда False мәнін қайтарады. Егер х
саны False болса, онда True деген мән береді.
Логикалық ЖӘНЕ Егер х саны False болса, х және у False деп есептеледі. Kepi
жағдайда у мәнін жазады.
Логикалық
Егер х саны True болса, онда True деп жазады. Кері
НЕМЕСЕ
жағдайда у мәнін жазады.
Математикалық операцияларды және меншіктеуді қысқаша жазуға болады.
а = 2; а = а*3
өрнегін
a = 2; a *= 3
түрінде жазуға болады.
«айнымалы=өрнектің айнымалы мәні»
түріндегі өрнектерді
«айнымалы операция=өрнек»
түрінде жазуға болады.
Есептеу тәртібі өзгешерек. Мысалы + 3 * 4 түрінде өрнек берілсе, көбейту амалының
бірінші орындалатыны мектеп курсынан белгілі. Көбейту амалының приоритеті қосу
амалынан басым. Келесі кестеде Python операторларының приоритеті көрсетілген. Кестенің
төменгі жағында орналасқан операторлар ең алдымен есептеледі де, кестенің жоғарғы
бөлігіндегілер соңында есептеледі.
Операторлар приоритеттері
оператор
сипаттамасы
lambda
лямбда-өрнек
12
or
and
not x
in, not in
is, is not
<, <=, >, >=, !=, ==
|
^
&
<< , >>
+, –
*, /, //, %
+х, -x
~х
**
x.attribute
X[индекс]
х [индекс1 :индекс2]
f(аргументтер ...)
(өрнектер, ...)
[өрнектер, ...]
{кілт:деректер,...}
Логикалық «немесе»
Логикалық «және»
Логикалық «емес»
Тәуелділігін тексеру
Теңдігін тексеру
салыстыру
Биттік «немесе»
Биттік «тек қана немесе»
Биттік «және»
Орын алмастыру
Қосу және азайту
Көбейту, бөлу, бүтінсандық бөлу
және бөлудің қалдығы
Теріс сан, оң сан
Биттік «емес»
Дәрежеге шығару
Атрибутқа сілтеме
Индекс бойынша іздеу
Қиып алу
Функцияны шақыру
Байланыс немесе кортеж
Тізім
Сөздік
Өрнекті есептеу ретін өзгерту үшін жай жақшаны қолдануға болады. Мысалы, 2+(3*4)
дегенді 2+3*4 деген өрнектен гөрі ұғыну жеңілірек.
Мысалды expression.py ретінде сақтаңыз.
length = 5
breadth = 2
area = length * breadth
print('Ауданы = ', area)
print ('Периметрі = ', 2 * (length + breadth))
Қорытындысы:
Ауданы = 10
Периметрі = 14
Бұл программа қалай жұмыс істейді? Тіктөртбұрыштың ұзындығы мен ені length және
breadth айнымалыларында сақталады. Оларды периметр мен ауданды есептеу үшін қолданамыз. Есептеу нәтижесі area айнымалысында сақталады да, print функциясы арқылы экранға
шығарылады. Екіншісінде 2 * (length + breadth) өрнегінің мәнін print функциясына бірден
қоямыз.
Функциялар
Функциялар дегеніміз – программаның қайталанып қолданылатын бөліктері. Олар
командалардың белгілі бір бөліктеріне ат беруге және одан кейін сол атымен осы блоктарды
көрсетілген атымен және программаның кез келген жерінен шексіз қайталап іске қосу үшін
керек. Оны функцияны шақыру деп атайды. Кірістірілген функцияларға len және range мысал
ретінде келтіруге болады.
13
Кез келген қарапайым емес программа үшін (кез келген программалау тілінде) аса
маңызды құрылым блогы болып табылады. Функцияны резервтелген def сөзі анықтайды. Осы
сөзден кейін функцияның аты көрсетіледі, одан кейін жай жақша ішінде айнымалылардың
атын көрсетуге болады және жолдың соңына қос нүкте қойылады. Бұдан кейін функцияны
құрайтын командалар блогы бірнеше шегініспен оңға жылжытылып жазылады.
Функцияны сипаттау үшін def түйінді (кілттік) сөзі қолданылады:
def<функцияның аты>(<функдия параметрлерінің тізімі>) :
<блок – функцияның денесі>
Функцияның аты қайталанбайтын болуы тиіс. Тізімде көрсетілген параметрлер үтірлермен бөлінеді, егер де функцияның параметрі болмайтын болса, оның атынан кейін бос
жақшалар қойылады.
Функциядан оның ішінде есептелген нәтижені қайтару үшін return операторы қолданылады. Нәтиже ретінде қайтарылатын мәндер осы оператордан кейін жазылады:
def pov2 (n):
return 2 ** n
Осы функция бір ғана параметр қабылдайды, 2 санын осы параметр мәніне сәйкес
дәрежеге шығарады және пайда болған нәтижені қайтарады.
Оны шақырайық:
а= pov2 (3)
Программаның нәтижесі 8 болып шығады.
Функцияны бірінші рет шақырудан бұрын оны жариялау керек. Егер жарияланбаған
функцияға сұраныс беретін болсақ, онда қате кеткені туралы хабарлама шығады.
def somefunc(n1, n2):
return n1 * 2, n2 / 2
Осы функция бірден екі параметр қабылдайды да, нәтижесі ретінде екі мәннен құралған
кортежді қайтарады. Оны екі айнымалыға меншіктей аламыз.
a, b = somefunc(4, 9)
Әріптік символдармен жасалынатын функцияға мысал келтірейік:
def sayHello():
print('Сәлем, Әлия!') # функцияға меншіктелетін блок
# Функция соңы
sayHello()
# функцияны шақыру
sayHello()
# функцияны тағы да бір шақыру
Нәтижесінде экранға мына жазу шығарылады:
$ python function1.py
Сәлем, Әлия!
Сәлем, Әлия!
Осы программаның жұмыс істеу жолын қарастырайық.
Жоғарыда сипатталған синтаксисті пайдалана отырып sayHello атты функцияны анықтадық. Бұл функция параметрлерді қабылдамайды, сондықтан жақша ішінде қандай да бір
айнымалылар жарияланған жоқ. Функцияның параметрлері дегеніміз – функцияға берілетін
кіріс деректері, соларды есептеу арқылы нәтиже пайда болады.
Бір функцияны бірнеше рет шақыра алатын болғандықтан, бір кодты қайта-қайта жазудың
қажеті жоқ.
14
Функция параметрлеріне тоқталсақ, функция өзіне параметрлер қабылдайды және
солармен қандай да бір амалдар орындай алады. Ол параметрлер айнымалыларға ұқсайды.
Айнымалының мәні функцияны шақырғанда көрсетіледі және функцияны орындау барысында оларға мән меншіктеліп қойылады. Параметрлер жақша ішіне жазылады және үтірлермен бөлінеді. Функцияны шақырғанда да біз осыған ұқсас мәндерді меншіктейміз.
Терминологияға мән беріңіздер: функцияны жариялаған кездегі аттар параметрлер деп, ал
функцияны шақырған кезде оған берілетін мәндер – аргумент деп аталады. Мысалы
(func_param.py ретінде сақтаңыз):
def printMax(a, b):
if a > b:
print(a, 'максималды')
elif a==b:
print(a, 'тең', b)
else:
print(b, 'максималды')
printMax(3,4) # мәндерді тікелей меншіктеу
x = 5
y = 7
printMax(y, x)
# айнымалыларды аргумент ретінде беру
Нәтижесі:
$ python func_param.py
4 максималды
7 максималды
Осы программаның жұмыс істеу жолын қарастырайық. Бұл жерде біз printMax деген аты
бар функцияны анықтадық. Ол а және b деген аты бар екі параметрді пайдаланады. Қарапайым
if..else операторын қолдана отырып үлкен санды табамыз. printMax функциясын бірінші per
шақырған кезде біз сандарды аргумент ретінде тікелей береміз. Екінші жағдайда біз айнымалылары бар функцияны аргумент ретінде шақырамыз. printMax(x, у) х аргументінің мәнін а
параметріне меншіктейді, ал у аргументінің мәнін b параметріне меншіктейді. Екі жағдайда да
printMax функциясы бірдей жұмыс істейді.
Айнымалыларды функция ішінде жариялаған кезде олар функцияның сыртындағы басқа
айнымалылармен ешқандай байланыста болмайды, ягни айнымалылардың аты функция
ішінде локальді болып табылады. Мұны айнымалының көріну аймағы деп атайды. Барлық
айнымалылардың көріну аймағы өздері жарияланған блокпен шектеледі және атын атаудан
басталады. Мысалы:
х = 50
def func(x):
print('x = ', x)
x = 2
print('Локальді х-ті ауыстыру', x)
func(x)
print('x бұрынғыша', x)
Нәтижесі:
$ python func local.py
х тең 50
Локальді х-ті ауыстыру 2
х бұрынғыша 50
Осы программаның жұмыс істеу жолын қарастырсақ, X аты меншіктелген мәнді бірінші
рет шығарғанда, функцияның бірінші жолында Python функцияны аныктаудан жоғарыдағы,
15
негізгі блокта жарияланған параметрдің мәнін пайдаланады. Одан кейін біз х-ке 2 мәнін
меншіктейміз. Олардың аты біздің функциямыз үшін локальді болып табылады. Функцияның
ішіндегі х мәнін ауыстырған кезде негізгі блокта жарияланған х өзгеріссіз қалады. Print
арқылы функцияны соңғы шақырған кезде біз негізгі блокта көрсетілген х-тің мәнін
шығарамыз. Локальді өзгеріс кезінде өзгермей, ол алдыңғы шақырылған функциядағы мәнінде қалғанын осылай
Бөлісу
ЖИ арқылы жасау
Файл форматы:
pdf
06.05.2024
670
ЖИ арқылы жасау
Жариялаған:
Бұл материалды қолданушы жариялаған. Ustaz Tilegi ақпаратты жеткізуші ғана болып табылады. Жарияланған материалдың мазмұны мен авторлық құқық толықтай автордың жауапкершілігінде. Егер материал авторлық құқықты бұзады немесе сайттан алынуы тиіс деп есептесеңіз,
шағым қалдыра аласыз
шағым қалдыра аласыз













