Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Python programmalastırıw tilin úyreniw 3-BÓLIM

.pdf
Скачиваний:
1
Добавлен:
26.10.2024
Размер:
771.55 Кб
Скачать

3-BÓLIM

Programmalardı qalay orınlatıw kerek

Endi kod jazıwdı baslaytuǵın waqıt keldi. Programmanı orınlaw haqqında túsinik alǵanıńızdan keyin, aqırında haqıyqıy Python programmalastırıwın baslawǵa tayar bolasız. Bul jerde men siziń kompyuterińizde Python ornatılǵan dep esaplayman; eger olay bolmasa, aldıńǵı bólim hám A qosımshadan ornatıw hám konfiguraciya boyınsha maǵlıwmatlardı tabıwıńız múmkin.

Pythonǵa siz jazǵan kodtı orınlawdı buyırıwdıń bir neshe jolları bar. Bul bólimde házirgi kúnde keń qollanılatuǵın barlıq programmanı iske qosıw usılları talqılanadı. Sonıń menen birge, siz kodtı interaktiv túrde jazıwdı hám onı sistema komandalıq qatarı, belgi basıw, modullerdi importlaw hám qayta júklew, exec shaqırıwları, IDLE sıyaqlı GUI menyu opciyaları hám basqa da usıllar arqalı orınlaw ushın fayllarǵa saqlawdı úyrenesiz.

Eger tek Python programmasın tez arada qalay orınlatıw kerek ekenin bilgińiz kelse, bul bólimniń tek ózińizdiń platformańızǵa baylanıslı bóleklerin oqıp, 4- bólimge ótiw niyetinde bolıwıńız múmkin. Biraq modullerdi importlaw boyınsha materiallardı ótkizip jibermewińiz kerek, sebebi bul Python programma arxitekturasın túsiniw ushın júdá áhmiyetli. Men sizge IDLE hám basqa IDEler haqqındaǵı bólimlerdi bolmasa da qısqasha oqıp shıǵıwdı usınıs etemen, solay etip siz quramalıraq Python programmaların islep shıǵa baslaǵanıńızda qanday qurallar bar ekenin bilip alasız.

Interaktiv Prompt

Python programmaların orınlatıwdıń eń ápiwayı usılı - olardı Pythonnıń interaktiv komanda qatarında jazıw, ol negizinde interaktiv prompt dep te ataladı. Bul komanda qatarın baslawdıń bir neshe usılı bar: IDEde, sistema konsolinen hám basqalar arqalı. Eger interpretator siziń sistemańızda atqarıwshı programma retinde ornatılǵan dep esaplasaq, interaktiv interpretator sessiyasın baslaw ushın platformaǵa baylanıssız eń orınlanatuǵın usıl - operacion sistema promptında hesh qanday argumentsiz tek "python" dep jazıw. Mısalı:

% python

Python 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ...

Type "help", "copyright", "credits" or "license" for more information.

>>>

Sistema qabıǵı promptında usılay "python" sózin jazıw interaktiv Python sessiyasın baslaydı; bul dizimniń basındaǵı "%" belgisi bul kitapta ulıwmalıq sistema promptın bildiredi - onı óziń jazıwıń shárt emes. Sistema qabıǵı promptı ulıwmalıq túsinik, biraq oǵan qalay kiriwińiz platformaǵa qarap hár qıylı boladı:

Windowsta, siz python sózin DOS konsol aynasında (yaǵnıy Command Prompt, ádette Start→Programs menyuiniń Accessories bóliminde jaylasqan) yamasa Start→Run... dialog aynasında jaza alasız.

Unix, Linux hám Mac OS Xte, siz bul komandanı shell yamasa terminal aynasında jazıwıńız múmkin (mısal ushın, ksh yamasa csh sıyaqlı shell júrgizilip atırǵan xterm yamasa konsolda).

Basqa sistemalar uqsas yamasa platformaǵa tán qurallardan paydalanıwı múmkin. Mısal ushın, qol telefonlarında, interaktiv sessiyanı baslaw ushın ádette bas yamasa qosımshalar aynasındaǵı Python belgisine basasız.

Eger siziń shelldiń PATH ortalıq ózgeriwshisine Python ornatılǵan direktoriya qosılmaǵan bolsa, "python" sózin kompyuterińizdegi Python atqarıwshı faylınıń tolıq jolı menen almastırıwıńız kerek bolıwı múmkin. Unix, Linux hám uqsas sistemalarda, kóbinese /usr/local/bin/python yamasa /usr/bin/python jetkilikli boladı. Windowsta, C:\Python30\python (3.0 versiyası ushın) dep jazıp kóriń:

C:\misc> c:\python30\python Python 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ... Type "help", "copyright", "credits" or "license" for more information.

Basqa jolı, "python" dep jazıwdan aldın Python ornatılǵan direktoriyaǵa ótiw komandasın orınlawıńız múmkin - mısal ushın, Windowsta cd c:\python30 komandasın qollanıń:

C:\misc> cd C:\Python30 C:\Python30> python Python 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ... Type "help", "copyright", "credits" or "license" for more information.

Windowsta, shell aynasında python dep jazıwdan tısqarı, siz IDLEdiń bas aynasın ashıw arqalı (keyin talqılanadı) yamasa 2-bólimniń 2-1 súwretinde kórsetilgendey, Python ushın Start túymesiniń menyuinen "Python (command line)" menyu opciyasın tańlaw arqalı usıǵan uqsas interaktiv sessiyalardı baslawıńız múmkin. Ekewi de birdey funkcionallıqqa iye Python interaktiv promptın ashıp beredi; shell komandasın jazıw shárt emes.

Kodtı Interaktiv Túrde Orınlatıw

Qanday usıl menen baslanǵanına qaramastan, Python interaktiv sessiyası eki qatar maǵlıwmat tekstin shıǵarıw menen baslanadı (men bul kitaptaǵı mısallardıń kóbinde boslıqtı únemlew ushın bul qatarlardı qaldırıp ketemen), soń sizden jańa Python operatorın yamasa ańlatpasın kiritiwdi kútken waqıtta >>> belgisi menen prompt shıǵaradı. Interaktiv túrde islegende, siziń kodıńızdıń nátiyjeleri Enter túymesin basqanıńızdan keyin >>> qatarlarınan keyin kórsetiledi. Mısal ushın, tómende eki Python print operatorlarınıń nátiyjeleri keltiriledı (print Python 3.0 da funkciya shaqırıwı bolıp esaplanadı, biraq 2.6 da bunday emes, sonlıqtan dóńgelek qawsırmalardı tek 3.0 da qoyıw shárt):

% python

>>> print(Hello world!)

Hello world!

>>> print(2 ** 8) 256

Joqarıda kórsetilgen print operatorlarınıń detalları haqqında ele qayǵırıwıńızdıń keregi joq; biz sintaksis haqqında keyingi bólimde úyreniwdi baslaymız. Qısqasha aytqanda, olar Python tekst qatarın hám pútin sandı shıǵaradı, bul hár >>> kiritiw qatarınan keyingi shıǵıs qatarlarında kórsetilgen (2 ** 8 Pythonda 2 sanınıń 8- dárejesin bildiredi).

Usılay interaktiv túrde kodlaǵanıńızda, siz qálegenińizshe Python buyrıqların jaza alasız; hár biri kiritilgennen keyin birden orınlanadı. Bunnan tısqarı, interaktiv sessiya siz jazǵan ańlatpalardıń nátiyjelerin avtomatik túrde shıǵaratuǵın bolǵanlıqtan, bul promptta ádette "print" sózin ashıq túrde jazıwıńız shárt emes: lumberjack = okay lumberjack okay 2 ** 8 256 <== Shıǵıw ushın Ctrl-D (Unixte) yamasa Ctrl-Z (Windowsta) túymelerin basıń %

Bul jerde, birinshi qatar mánis beriwdi ózgeriwshige tapsırıw arqalı saqlaydı, al jazılǵan aqırǵı eki qatar ańlatpalar (lumberjack hám 2 ** 8) bolıp tabıladı - olardıń nátiyjeleri avtomatik túrde kórsetiledi. Usınday interaktiv sessiyadan shıǵıw hám sistema qabıǵı promptına qaytıw ushın, Unix sıyaqlı mashinalarda Ctrl-D túymesin basıń; MS-DOS hám Windows sistemalarında shıǵıw ushın Ctrl-Z túymesin basıń. Keyinirek talqılanajaq IDLE grafikalıq interfeyste, Ctrl-D túymesin basıwıńız yamasa álbete aynasın jabıwıńız múmkin.

Bul sessiyada biz kóp náwbetti orınlamadıq - tek bir neshe Python print hám tapsırıw operatorların, bir neshe ańlatpalar menen birge jazdıq, olardı biz keyinirek tolıq úyrenemiz. Tiykarǵı itibar beriw kerek nárse - interpretator Enter túymesi basılǵanda hár qatardaǵı kiritilgen kodtı dárriw orınlaydı.

Mısal ushın, >>> promptında birinshi print operatorın jazǵanımızda, shıǵıs (Python tekst qatarı) dárriw qaytarıldı. Derek kodı faylın jaratıwdıń keregi bolmadı, hám C yamasa C++ sıyaqlı tillerdi qollanǵanda ádettegidey kodtı aldın kompiyator hám baylawshıdan ótkiziwdiń keregi bolmadı. Keyingi bólimlerde kóriwińizge, siz interaktiv promptta kóp qatarlı operatorlardı da júrgize alasız; bunday operator barlıq qatarların kiritkenińizden hám bos qatar qosıw ushın Enter túymesin eki ret basqanıńızdan keyin dárriw orınlanadı.

Interaktiv Prompt Ne Ushın Kerek?

Interaktiv prompt kodtı júrgizedi (orınlatadı) hám nátiyjelerin siz islegenińizde shıǵarıp baradı, biraq kodıńızdı faylda saqlamaydı. Bul siziń tiykarǵı kodlawıńızdı interaktiv sessiyalarda islemeytuǵınıńızdı ańlatsa da, interaktiv prompt til menen tájiriybe islewge hám programma faylların tez tekseriw ushın jaqsı orın bolıp shıqtı.

Tájiriybe Islew

Kod dárriw orınlanǵanlıǵı sebepli, interaktiv prompt til menen tájiriybe islew ushın miynet orın bolıp tabıladı hám bul kitapta kishirek mısallardı kórsetiw ushın kóp qollanıladı. Hátteki, bul eske tutıwǵa tiyisli birinshi qaǵıyda: eger Python kodınıń

qanday isleytuǵını haqqında gúmanlanıp qalsańız, interaktiv komanda qatarın ashıń hám ne bolatuǵının kóriw ushın onı sınap kóriń.

Mısalı, siz Python baǵdarlamasınıń kodın oqıp atırǵanıńızda hám mánisi túsiniksiz bolǵan Spam! * 8 sıyaqlı ańlatpanı ushıratqanıńızda. Bul waqıtta siz kodtıń ne isleytuǵının túsiniw ushın 10 minut waqtıńızdı qollanba hám kitaplardan izlep ótkeriwińiz múmkin, yamasa onı ápiwayı túrde interaktiv rejimde orınlap kóriwińiz múmkin:

>>> Spam! * 8 <== Sınap úyreniw

Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!

Interaktiv rejimde alǵan tez juwabıńız kóbinese kodtıń qanday wazıypa atqaratuǵının biliw ushın eń tez usıl bolıp tabıladı. Bul jerde, onıń qatarlardı qaytalaǵanı anıq kórinip tur: Pythonda * belgisi sanlar ushın kóbeytiw, al qatarlar ushın qaytalaw degen mánisti ańlatadı - bul qatardı ózine bir neshe ret qosıw sıyaqlı (qatarlar haqqında 4-bapta kóbirek maǵlıwmat berilgen).

Bul usılda eksperiment ótkerip, hesh nárseni buzıp qoymawıńız múmkin - hesh bolmaǵanda, házirshe. Haqıyqıy zıyan keltiriw ushın, mısalı, fayllardı óshiriw hám terminal buyrıqların orınlaw ushın, siz modullerdi anıq import etiwińiz kerek (sonday-aq, siz sonshelli qáwipli bolıwıńız ushın Python sistemasınıń interfeysleri haqqında kóbirek biliwińiz kerek boladı!). Tikkeley Python kodı derlik barlıq waqıtta qáwipsiz orınlanadı.

Mısalı, interaktiv rejimde qáte islegenińizde ne bolatuǵının qarap kóriń:

>>> X <== Qáte islew

Traceback (most recent call last): File "<stdin>", line 1, in <module>

NameError: name X is not defined

Pythonda ózgeriwshini oǵan mánis berilmesten burın qollanıw barlıq waqıtta qáte bolıp esaplanadı (eger atlar avtomatik túrde standart mánler menen toltırılǵanda, ayırım qáteler bayqalmay qalıwı múmkin). Bul haqqında keyinirek kóbirek úyrenemiz; bul jerdegi áhmiyetli másele - bunday qáte islegenińizde Python yamasa kompyuterińizdi ishten buzıp qoymaysız. Onıń ornına, siz qáteni kórsetip turatuǵın hám onı islegen kod qatarın kórsetip beretuǵın mánili qáte xabarın alasız, hám óz sessiyańız yamasa skriptińizde dawam ete alasız. Shınında da, Python menen jaqsı tanıs bolǵanıńızda, onıń qáte xabarları kóbinese sizge kerekli bolǵan debugging járdemin bere aladı (debugging haqqında kóbirek maǵlıwmattı 67bettegi "Python Kodın Debugging Qılıw" degen bólimde oqıysız).

Testlew

Tildi úyreniw barısında eksperiment ótkeriw quralı sıpatında xızmet etiwden tısqarı, interaktiv interpretator siz fayllarǵa jazǵan kodtı testlew ushın da ideal orın bolıp tabıladı. Siz óz modul fayllarıńızdı interaktiv túrde import etip, olar anıqlaǵan qurallarǵa interaktiv rejimde shaqırıwlar jazıw arqalı testler ótkere alasız. Mısalı, tómendegi testler Python standart kitapxanasında kelgen aldın-ala kodlanǵan moduldegi funkciyanı testleydi (ol házirgi jumıs isleytuǵın direktoriyańızdıń atın shıǵaradı), biraq siz óz modul fayllarıńızdı jaza baslaǵanıńızda da tap usınday islewińiz múmkin:

>>>import os

>>>os.getcwd() <== Tez testlew c:\\Python30

Ulıwma alǵanda, interaktiv rejim programma komponentlerin, olar qay derekte bolıwına qaramastan, testlew ushın qollanıladı - siz Python fayllarıńızdaǵı funkciyalar menen klasslardı import etip testley alasız, C tiline baylanısqan funkciyalarǵa shaqırıwlar jaza alasız, Jython astında Java klassların qollanıp kóre alasız hám taǵı basqalar. Bir jaǵınan onıń interaktiv tábiyatı sebepli, Python eksperimentallıq hám izertlew stilindegi programmalastırıwdı qollap-quwatlaydı, bunı siz jumıstı baslap atırǵanıńızda qolaylı dep tabarsız.

Interaktiv Rejimdi Qollanıw

Interaktiv rejimdi qollanıw ápiwayı bolsa da, jańa baslaǵanlar esinde tutıwı kerek bolǵan bir neshe másláhátler bar. Men bul bapqa usınday kóp ushırasatuǵın qáteler dizimin anıqlama retinde kirgizip atırman, biraq eger olardı aldın-ala oqıp shıqsańız, bir qansha qıyınshılıqlardan qutıla alasız:

Tek Python buyrıqların jazıń. Eń aldı menen, Python rejiminde tek Python kodın jaza alatuǵınıńızdı, sistema buyrıqların emes, esińizde tutıń. Python kodı ishinen sistema buyrıqların orınlaw usılları bar (mısalı, os.system arqalı), biraq olar buyrıqlardıń ózin tikkeley jazıwǵa qaraǵanda onsha ápiwayı emes.

print operatorı tek fayllarda talap etiledi. Interaktiv interpretator avtomatik túrde ańlatpalardıń nátiyjelerin kórsetkenlikten, interaktiv rejimde tolıq print operatorların jazıwdıń keregi joq. Bul jaqsı qásiyet, biraq paydalanıwshılar fayllarda kod jazıwǵa ótkeninde olardı aljastırıwı múmkin: kod faylı ishinde, nátiyjelerińizdi kóriw ushın print operatorların qollanıwıńız kerek, sebebi ańlatpa nátiyjeleri avtomatik túrde kórsetilmeydi. Esińizde tutıń, fayllarda print sózin qollanıwıńız kerek, biraq interaktiv rejimde bunıń keregi joq.

Házirshe interaktiv rejimde abzac jasamań. Python programmaların jazǵanda, meyli interaktiv bolsın yamasa tekst faylına bolsın, barlıq jaylastırılmaǵan operatorlarıńızdı 1-baǵanadan baslaw kerek (yaǵnıy, shep tárepten tolıǵı menen).

Eger bulay etpeseńiz, Python "SyntaxError" xabarın shıǵarıwı múmkin, sebebi kodıńızdıń shep tárepindegi bos orın jaylastırılǵan operatorlardı toparlaytuǵın abzac dep esaplanadı. 10-bapqa shekem jazatuǵın barlıq operatorlarıńız jaylastırılmaǵan boladı, sonlıqtan házirshe bul barlıǵına tiyisli. Bul Python boyınsha kirisiw kurslarında qaytalanıp turatuǵın aljasıw bolıp kórinedi. Esińizde tutıń, baslawshı boslıq qáte xabarın payda etedi.

Quramalı operatorlar ushın prompt ózgerislerine itibar beriń. Biz quramalı (kóp qatarlı) operatorlar menen 4-bapta tanısamız, hám 10-baptan baslap olardı tolıq úyrenemiz, biraq aldın ala bilip qoyıwıńız kerek, interaktiv rejimde quramalı operatordıń 2-qatarın hám onnan keyingilerin jazǵanda, prompt ózgeriwi múmkin. Ápiwayı terminal interfeysinde, interaktiv prompt 2-qatardan baslap >>> ornına ...

bolıp ózgeredi; IDLE interfeysinde bolsa, birinshi qatardan keyingi qatarlar avtomatik túrde abzac jasaladı. Bunıń nege áhmiyetli ekenin 10-bapta kóresiz. Házirshe, eger kodıńızdı kiritip atırǵanda ... promptın yamasa bos qatardı kórseńiz, bul balkim interaktiv Python sizdi kóp qatarlı operator jazıp atır dep oylaǵanın bildiredi. Tiykarǵı promptqa qaytıw ushın Enter klevishasın yamasa Ctrl-C kombinaciyasın basıp kóriń. >>> hám ... prompt qatarların ózgertiwge de boladı (olar sistemalıq sys modulinde bar), biraq men kitaptaǵı mısallarda olardıń ózgertilmegenin esapqa alaman.

Interaktiv promptta quramalı operatorlardı bos qatar menen juwmaqlań. Interaktiv promptta, bos qatar qosıw (qatardıń basında Enter klevishasın basıw arqalı) interaktiv Pythonǵa kóp qatarlı operatordı jazıp bolǵanıńızdı bildiriw ushın zárúr. Yaǵnıy, quramalı operatordı iske túsiriw ushın Enter klevishasın eki ret basıwıńız kerek. Kerisinshe, fayllarda bos qatarlar talap etilmeydi hám eger bar bolsa, ápiwayı ele esapqa alınbaydı. Eger interaktiv rejimde islep atırǵanıńızda quramalı operatordıń aqırında Enter klevishasın eki ret baspasańız, siz belgisiz halatta qalǵanday bolıp kórinesiz, sebebi interaktiv interpretator hesh nárse islemeydi - ol siziń qaytadan Enter klevishasın basıwıńızdı kútip tur!

Interaktiv prompt bir waqıtta bir operatordı orınlaydı. Interaktiv promptta, basqa operatordı jazıwdan aldın bir operatordı tolıq orınlap bolıwıńız kerek. Bul ápiwayı operatorlar ushın tábiyiy, sebebi Enter klevishasın basıw kiritilgen operatordı iske túsiredi. Biraq, quramalı operatorlar ushın esińizde tutıń, operatordı juwmaqlap, onı iske túsiriw ushın bos qatar jiberiwińiz kerek, soń ǵana keyingi operatordı jaza alasız.

Kóp qatarlı operatorlardı kiritiw

Ózimdi qaytalaw qáwpi bar bolsa da, usı baptı jańalap atırǵanımda oqıwshılardan aqırǵı eki punkt boyınsha qıyınshılıqqa duwshar bolǵanları haqqında xabarlar aldım, sonlıqtan bul máselege ayırıqsha itibar qaratıw kerek shıǵar. Kóp qatarlı

(basqasha aytqanda, quramalı) operatorlar menen keyingi bapta tanısamız hám olardıń sintaksisin bul kitaptıń keyingi bólimlerinde tolıǵıraq úyrenemiz. Biraq, olardıń fayllarda hám interaktiv promptta ózin tutıwı azǵana parıq qılǵanlıqtan, bul jerde eki eskertiw orınlı boladı.

Birinshiden, interaktiv promptta for ciklları hám if shártleri sıyaqlı kóp qatarlı quramalı operatorlardı bos qatar menen juwmaqlawdı umıtpań. Pútkil kóp qatarlı operatordı juwmaqlap, onı iske túsiriw ushın Enter klevishasın eki ret basıwıńız kerek. Mısalı (sóz oynı maqsetli emes...):

>>> for x in spam:

... print(x)

... <== Bul cikldi iske túsiriw ushın usı jerde Enter klavishasın eki ret basıń

Biraq, skript faylında quramalı operatorlardan keyin bos qatar qoyıw shárt emes; bul tek interaktiv promptta talap etiledi. Faylda bos qatarlar talap etilmeydi hám bar bolǵan jaǵdayda ele esapqa alınbaydı; al interaktiv promptta olar kóp qatarlı operatorlardı juwmaqlawǵa xızmet etedi.

Sonıń menen birge, interaktiv prompt bir waqıtta tek bir operatordı orınlaydı: keyingi operatordı jazıwdan aldın cikldi yamasa basqa kóp qatarlı operatordı iske túsiriw ushın Enter klavishasın eki ret basıwıńız kerek ekenin yadıńızda saqlań:

>>> for x in spam:

... print(x)

... <== Jańa operatordan aldın Enter klavishasın eki ret basıw kerek

... print(done) File "", line 3 print(done)

^

SyntaxError: invalid syntax

Bul degenimiz, eger kod hár bir quramalı operatordan keyingi bos qatarlardı óz ishine almaytuǵın bolsa, kóp qatarlı kodtı interaktiv promptqa kóshirip qoyıw múmkin emes. Bunday kodtı faylda iske túsirgen jaqsıraq - bul keyingi bólimniń teması.

Sistema buyrıq qatarları hám fayllar

Interaktiv prompt tájiriybe islewge hám testlewge jaqsı bolsa da, onıń bir úlken kemshiligi bar: ol jerde jazǵan baǵdarlamalarıńız Python interpretatorı olardı orınlaǵannan keyin joq bolıp ketedi. Interaktiv túrde jazǵan kodıńız hesh qashan faylǵa saqlanbaytuǵınlıqtan, onı qaytalap iske túsiriw ushın basınan qayta teriwiń kerek boladı. Kesiw hám qoyıw menen buyrıqlardı qayta shaqırıw bul jerde azǵana járdem bere aladı, biraq kóp emes, ásirese úlken baǵdarlamalar jaza baslaǵanıńızda.

Interaktiv sessiyadan kodtı kesiw hám qoyıw ushın Python promptların, baǵdarlama shıǵısların hám basqalardı ózgertiwiń kerek boladı - bul házirgi zaman baǵdarlama islep shıǵıw metodologiyasına hesh uqsamaydı!

Programmalardı turaqlı saqlaw ushın, kodıńızdı fayllarda jazıwıńız kerek, olar kóbinese moduller dep ataladı. Moduller - tek ǵana Python operatorların óz ishine alǵan tekst faylları. Kodlanǵannan keyin, siz Python interpretatorınan bunday fayldaǵı operatorlardı qálegen sanı hám hár túrli usıllar menen orınlawın soray alasız - sistema komanda qatarları arqalı, fayl belgisin basıw arqalı, IDLE paydalanıwshı interfeysi opciyaları arqalı hám basqalar. Qanday usıl menen iske túsirilgenine qaramastan, Python taǵı da fayldı iske túsirgenińizde modul faylındaǵı barlıq kodtı joqarıdan tómen qaray orınlaydı.

Bul tarawdaǵı terminologiya birqansha ózgeriwi múmkin. Mısalı, modul faylları kóbinese Pythonda programma dep ataladı - yaǵnıy, programma qayta-qayta orınlaw ushın faylda saqlanǵan aldın-ala kodlanǵan operatorlar toplamı dep esaplanadı. Tikkeley iske túsirilgen modul faylları da geyde skriptler dep ataladı - bul ádette joqarı dárejeli programma faylın bildiriwshi rásmiy emes termin. Ayırımlar "modul" terminin tek basqa fayldan import etilgen fayl ushın qollanadı. (Joqarı dárejeli hám import etiwdiń mánisi haqqında birazdan keyin kóbirek aytıladı.)

Olardı qanday atawıńızǵa qaramastan, keyingi bólimler modul fayllarına jazılǵan kodtı iske túsiriwdiń usılların úyrenedi. Bul bólimde siz fayllardı eń tiykarǵı usıl menen qalay iske túsiriwdi úyrenesiz: kompyuterińizdiń sistema sorawında kiritilgen python komanda qatarında olardıń atların kórsetiw arqalı. Geybirewlerge bul usıl ápiwayı bolıp kóriniwi múmkin, biraq kóp baǵdarlamashılar ushın sistema qabıǵı komanda qatarı aynası menen tekst redaktorı aynası olardıń keregi bolatuǵın pútkil integraciyalanǵan rawajlanıw ortalıǵın quraydı.

Birinshi Skript

Keliń, baslaymız. Ózińizdiń súyikli tekst redaktorıńızdı ashıń (mısalı, vi, Notepad, yamasa IDLE redaktorı) hám tómendegi operatorlardı script1.py dep atalǵan jańa tekst faylına jazıń:

# Birinshi Python skripti

import sys # Kitapxana modulin júklew print(sys.platform)

print(2 ** 100) # 2 ni dárejege kóterip esaplaw x = Spam!

print(x * 8) # Qatardı qaytalaw

Bul fayl biziń birinshi rásmiy Python skriptimiz (2-baptagı eki qatarlı skriptti esapqa almaǵanda). Bul fayldıń kodı haqqında artıq qayǵırıwıńız shárt emes, biraq qısqasha túsindirme retinde, bul fayl:

Python modulin (qosımsha qurallar kitapxanasın) import etedi, platforma atın alıw ushın

Skript nátiyjelerin kórsetiw ushın úsh print funkciyasın shaqırıwdı orınlaydı

x dep atalǵan ózgeriwshini qollanadı, ol belgilengende jaratıladı hám qatarlıq obyektti saqlap turadı

Kelesi bapta úyreniwdi baslaytuǵın hár túrli obyekt operaciyaların qollanadı

Bul jerdegi sys.platform - bul tek siz jumıs islep atırǵan kompyuter túrin anıqlaytuǵın qatar. Ol sys dep atalatuǵın standart Python modulinde jaylasqan, onı júklew ushın import etiwińiz kerek (import etiw haqqında keyinirek kóbirek aytıladı).

Túsli bolıwı ushın, men bul jerge birneshe rásmiy Python kommentariyaların da qostım - # belgileri keyinindegi tekst. Kommentariyalar ózleri jeke qatarlarda yamasa qatardıń oń tárepinde kodtıń qasında bolıwı múmkin. # belgisinen keyingi tekst tek adam oqıy alatuǵın kommentariy retinde esaplanıp, operator sintaksisiniń bir bólegi dep esaplanbaydı. Eger siz bul kodtı kóshirip atırǵan bolsańız, kommentariyalardı da ele almasańız boladı. Bul kitapta, kommentariyalardı kórkem túrde ayırıp kórsetiw ushın ádette basqa formatlawshı stildi qollanamız, biraq siziń kodıńızda olar ádettegi tekst túrinde kórinedi.

Jáne de, házirshe bul fayldaǵı kod sintaksisine dıqqat awdarmań; biz bulardıń hámmesin keyinirek úyrenemiz. Tiykarǵı itibar beriletuǵın nárse - siz bul kodtı interaktiv promptqa emes, al faylǵa jazǵanıńız. Usı process arqalı siz tolıq isleytuǵın Python skriptin jazdıńız.

Modul faylı script1.py dep atalǵanına itibar beriń. Barlıq joqarı dárejeli fayllar sıyaqlı, onı ápiwayı script dep atasa da boladı, biraq klient tárepinen import etilgenin qáleytuǵın kod faylları .py qosımshası menen tamamlanıwı kerek. Biz import etiw haqqında bul baptıń keyingi bóliminde úyrenemiz. Keleshekte olardı import etiwiń múmkin bolǵanlıqtan, siz jazǵan kópshilik Python fayllarına .py qosımshası qoyıw jaqsı ideyası boladı. Sonday-aq, geypara tekst redaktorları Python faylların olardıń .py qosımshası boyınsha anıqlaydı; eger qosımsha bolmasa, sintaksis reńlew hám avtomatik sheginiw sıyaqlı qásiyetlerge iye bolmawıńız múmkin.

Komanda qatarları menen faylardı iske túsiriw

Bul tekst faylın saqlaǵanıńızdan keyin, siz Pythonǵa onı iske túsiriwdi sistema qabıǵı promptında python komandası ushın birinshi argument sıpatında onıń tolıq fayl atın kórsetiw arqalı soray alasız:

% python script1.py win32

1267650600228229401496703205376

Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!

Jáne de, bunday sistema qabıǵı komandaların siziń sistemańız komanda qatarın kiritiw ushın ne usınsa, sonda teriwińizge boladı - Windows Command Prompt aynası, xterm aynası yamasa soǵan uqsas. Eger PATH parametri konfiguraciya etilmegen bolsa, aldınǵıday "python" sózin tolıq katalog jolı menen almastırıwdı umıtpań.

Eger barlıǵı joba boyınsha islese, bul qabıq komandası Pythonǵa bul fayldaǵı kodtı qatar-qatar orınlawǵa buyrıq beredi, hám siz skripttiń úsh print operatorınıń nátiyjesin kóresiz - tiykarǵı platformanıń atı, 2 sanınıń 100-inshi dárejesi hám aldın kórgen qatardı qaytalaw ańlatpasınıń nátiyjesi (sońǵı ekewi haqqında 4-bapta tolıǵıraq aytıladı).

Eger barlıǵı joba boyınsha islemese, qáte haqqında xabar alasız - kodtı faylıńızǵa dál kórsetilgendey etip kiritkenińizge isenim payda etiń hám qaytadan urınıp kóriń. Biz "Python kodın sazlaw" degen qosımsha bólimde 67-bette sazlaw variantları haqqında sóylesemiz, biraq kitaptıń bul jerinde siziń eń jaqsı variantıńız, balkim, ápiwayı tákirarlaw boladı.

Bul sxema Python baǵdarlamaların iske túsiriw ushın qabıq komanda qatarların paydalanatuǵın bolǵanlıqtan, barlıq ádettegi qabıq sintaksisi qollanıladı. Mısalı, Python skriptiniń shıǵısın keyinirek paydalanıw yamasa kóriw ushın arnawlı qabıq sintaksisin qollanıp faylǵa baǵdarlay alasız:

% python script1.py > saveit.txt

Bul jaǵdayda, aldınǵı orınlawda kórsetilgen úsh shıǵıs qatarı basıp shıǵarılıwdıń ornına saveit.txt faylında saqlanadı. Bul ulıwma aǵım qayta baǵdarlaw dep ataladı; ol kirgiziw hám shıǵarıw teksti ushın isleydi hám Windows hám Unix sıyaqlı sistemalarda bar. Bul Python menen az baylanıslı (Python tek ǵana onı qollapquwatlaydı), sonlıqtan biz bul jerde qabıq qayta baǵdarlaw sintaksisi haqqında qosımsha maǵlıwmatlardı ótkizip jiberemiz.

Eger siz Windows platformasında isleseńiz, bul mısal birdey isleydi, biraq sistema promptı ádette basqasha boladı: