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

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

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

Ádettegi qollanıwda, import qılıwshılar modul faylınıń joqarı dárejesinde belgilengen barlıq atlarǵa kiriwge múmkinshilik aladı. Bul atlar kóbinese modul tárepinen eksport etiletuǵın qurallarǵa - funkciyalarǵa, klaslarǵa, ózgeriwshilerge hám basqalarǵa belgilenedi - olar basqa fayllar hám programmalarda qollanılıwı názerde tutılǵan.

Sırttan, modul faylınıń atların eki Python operatorı - import hám from, sonday-aq reload shaqırıwı arqalı alıwǵa boladı.

Mısalı, tekst redaktorın qollanıp, tómendegi mazmunǵa iye myfile.py dep atalǵan bir qatarlı Python modul faylın jaratıń:

title = "The Meaning of Life"

Bul dúnyadaǵı eń ápiwayı Python modulleriniń biri bolıwı múmkin (ol tek bir belgilew operatorınan ibarat), biraq maqsetti túsindiriw ushın jetkilikli. Bul fayl import qılınǵanda, onıń kodı moduldiń atributın payda etiw ushın orınlanadı. Belgilew operatorı title dep atalǵan modul atributın jaratadı.

Siz bul moduldiń title atributin basqa komponentlerde eki túrli jol menen qollana alasız. Birinshiden, siz moduldı tolıǵı menen import operatorı járdeminde júklep alıp, keyin modul atın atribut atı menen birliktirip, onı alıwıńız múmkin:

% python # Pythondı baslaw

>>>import myfile # Fayldı orınlaw; moduldı tolıǵı menen júklew

>>>print(myfile.title) # Onıń atribut atların qollanıw: . arqalı anıqlaw

The Meaning of Life

Ulıwma alǵanda, noqat kórsetpesi sintaksisi object.attribute hár qanday obyektke biriktirilgen hár qanday atributtı alıwǵa múmkinshilik beredi, hám bul Python kodında júdá keń tarqalǵan operaciya. Bul jerde biz onı myfile moduli ishindegi title qatarlıq ózgeriwshisine kiriwde qollandıq - basqasha aytqanda, myfile.title.

Sonıń menen birge, siz from operatorları járdeminde modulden atların alıwıńız (negizinde, kóshirip alıwıńız) múmkin:

% python # Pythondı baslaw

>>>from myfile import title # Fayldı orınlaw; onıń atların kóshirip alıw

>>>print(title) # Attı tikkeley qollanıw: anıqlawdıń keregi joq

The Meaning of Life

Keyinirek tolıǵıraq kóretuǵınıńızday, from operatorı import operatorı sıyaqlı, tek import qılıwshı komponentte qosımsha atlarǵa belgilew menen. Texnikalıq jaqtan,

from moduldiń atributların kóshirip aladı, solay etip olar alıwshı ushın ápiwayı ózgeriwshilerge aylanadı - sonlıqtan, siz endi import qılınǵan qatardı myfile.title (atribut siltemesi) ornına ápiwayı title (ózgeriwshi) dep atay alasız.

Import yamasa from operatorların qollanıp import operaciyasın ámelge asırǵanıńızda, myfile.py modul faylındaǵı operatorlar orınlanadı hám import qılıwshı komponent (bul jerde interaktiv prompt) fayl joqarı dárejesinde belgilengen atlarǵa kiriwge múmkinshilik aladı. Bul ápiwayı mısalda tek bir at bar - qatarǵa belgilengen title ózgeriwshisi - biraq bul túsinik modullerińizde funkciyalar hám klasslar sıyaqlı obyektlerdi anıqlay baslaǵanıńızda qolaylıraq boladı: bunday obyektler qayta qollanılatuǵın programmalıq táminlew komponentlerine aylanadı, olarǵa bir yamasa bir neshe klient modulleri arqalı at boyınsha kiriw múmkin.

Ámeliyatta, modul faylları ádette fayl ishinde hám sırtında qollanılatuǵın birden kóp attı anıqlaydı. Mine, úsh attı anıqlaytuǵın mısal:

a =

dead

# Úsh atributti

anıqlaw

b

=

parrot

# Basqa fayllarga eksport qılınadı

c

= sketch

 

 

print(a, b, c) # Bul faylda

da qollanıladı

Bul threenames.py faylı úsh ózgeriwshini belgileydi, sonlıqtan sırtqı dúnya ushın úsh atributti payda etedi. Ol sonday-aq óziniń úsh ózgeriwshisin print operatorında qollanadı, bunı biz bul fayldı joqarı dárejeli fayl sıpatında júrgizgenimizde kóremiz:

% python threenames.py dead parrot sketch

Bul fayldıń barlıq kodı basqa jerde birinshi ret import qılınǵanda (import yamasa from arqalı) ádettegidey júrgiziledi. Bul fayldı import qollanıp paydalanǵan klientler atributları bar moduldi aladı, al from qollanǵan klientler fayl atlarınıń kóshirmelerin aladı:

% python

>>>import threenames # Pútkil moduldi alıw dead parrot sketch

>>>threenames.b, threenames.c

(parrot, sketch)

>>>from threenames import a, b, c # Bir neshe attı kóshiriw

>>>b, c

(parrot, sketch)

Bul jerde nátiyjeler qawsırma ishinde basıp shıǵarıladı, sebebi olar haqıyqatında kortejler (bul kitaptıń keyingi bóliminde qaralatuǵın obyekt túri); házirshe olarǵa itibar bermey-aq qoyıwıńız múmkin.

Usınday bir neshe atı bar modullerdi kodlaw baslaǵanıńızda, qurılǵan dir funkciyası júdá paydalı bola baslaydı - onı modul ishinde bar bolǵan atlardıń dizimin alıw ushın qollanıwıńız múmkin. Tómendegi qatarlar Python qatarlar dizimin qaytaradı (biz dizimlerdi keyingi bapta úyrene baslaymız):

>>> dir(threenames)

[__builtins__, __doc__, __file__, __name__, __package__, a, b, c]

Men bunı Python 3.0 hám 2.6 nusqalarında orınladım; eskilew Python nusqaları azıraq at qaytarıwı múmkin. dir funkciyası usılay qawsırma ishinde berilgen import qılınǵan modul atı menen shaqırılǵanda, ol sol modul ishindegi barlıq atributlardı qaytaradı. Ol qaytaratuǵın atlardan gezeklesin "biypul" alasız: basında hám aqırında qos astın sızıq bar atlar Python tárepinen aldın ala belgilengen qurılǵan atlar bolıp, interpretator ushın arnawlı mánige iye. Biziń kodımız táriyiplengen ózgeriwshiler - a, b hám c - dir nátiyjesinde eń aqırında kórinedi.

Moduller hám at keńislikleri

Modul importları - kod faylların júrgiziw usılı, biraq, kitaptıń keyingi bólimlerinde talqılanatuǵınday, moduller Python baǵdarlamalarındaǵı eń úlken baǵdarlama strukturası bolıp tabıladı. Ulıwma alǵanda, Python baǵdarlamaları import operatorları arqalı baylanısqan bir neshe modul fayllarınan quralǵan. Hár bir modul faylı - ózgeriwshilerdiń ózine tán toplamı, yaǵnıy at keńisligi. Bir modul faylı basqa faylda anıqlanǵan atlardı, sol basqa fayldı anıq túrde import qılmaǵansha kóre almaydı, sonlıqtan moduller kodıńızdaǵı at dúgisiwlerin minimallastırıwǵa járdem beredi - hár bir fayl ózine tán at keńisligi bolǵanlıqtan, bir fayldaǵı atlar basqa fayldaǵı atlar menen, hatteki olar birdey jazılǵan bolsa da, dúgise almaydı.

Haqıyqatında da, kórip turǵanıńızday, moduller - Python siziń ózgeriwshilerińizdi at dúgisiwlerin boldırmaw ushın bólimlerge jıynawǵa úlken kúsh jumsaytuǵın bir neshe usıllardıń biri. Biz moduller hám basqa at keńisligi strukturaların (klaslar hám funkciya kólemlerin qosqanda) kitaptıń keyingi bólimlerinde tolıǵıraq talqılaymız. Házirge, moduller siziń kodıńızdı qayta terip shıǵıwǵa májbúr bolmay, kóp márte júrgiziw usılı sıpatında paydalı boladı.

import penen from salıstırması: Men from operatorınıń bir mániste modullerdiń at keńisligin bóliw maqsetin biykarlaytuǵının aytıp ótiwim kerek - sebebi from bir fayldan ekinshisine ózgeriwshilerdi kóshiredi, ol import qılıwshı fayldaǵı birdey atamalı ózgeriwshilerdiń ústinen jazılıwına alıp keliwi múmkin (hám bul haqqında

eskertpeydi). Bul tiykarınan at keńisliklerin, hesh bolmaǵanda kóshirilgen ózgeriwshiler kóz-qarasınan, birlestiredi. Usı sebepli, ayırımlar from ornına import ti qollanıwdı usınıs etedi. Men bunshelli alısqa barmayman; from tek ǵana az jazıwdı talap etip qoymay, onıń gúman etilgen máselesi ámeliyatta siyrek ushırasadı. Onıń ústine, bul siz from da qáleytuǵın ózgeriwshilerdi kórsetiw arqalı basqaratuǵın nárse; olardıń mánisler menen belgileniwın túsinseńiz, bul tapsırma operatorların jazıwdan artıq qáwipli emes - bul sizge kerek bolatuǵın taǵı bir qásiyet!

import hám reload qollanıw boyınsha eskertiw

Qanday da bir sebeplerge kóre, adamlar faylların import hám reload arqalı júrgiziw haqqında bilgennen keyin, kópshilik tek usıǵan itibar berip, kodtıń házirgi versiyasın bárqulla júrgiziwge múmkinshilik beretuǵın basqa iske túsiriw variantların umıtıp qoyadı (mısalı, belgi basıw, IDLE menyusı opciyaları hám sistema buyrıq qatarları). Biraq, bul usıl tez arada aljasıwǵa alıp keliwi múmkin - import qılǵanıńızdı este saqlaw kerek, reload qollana alasız ba, bilesiz be, reload tı shaqqanda qawsırma qollanıwdı umıtpaw kerek (tek ǵana reload ushın), hám kodıńızdıń házirgi versiyasın júrgiziw ushın dáslep reload tı qollanıwdı umıtpaw kerek. Bunnan tısqarı, reload lar ótpeli emes - moduldi qayta júklew tek sol moduldi qayta júkleydi, ol import qılıwı múmkin bolǵan basqa modullerdi emes - sonlıqtan, geyde bir neshe fayldı qayta júklew kerek boladı.

Usı qıyınshılıqlar sebepli (hám basqalar, olardı keyinirek qarap shıǵamız, sonıń ishinde bul baptıń aldıńǵı eskertiwinde aytılǵan reload/from máselesi), házirshe import hám reload arqalı iske túsiriw beyimliginen saqlanıw jaqsı pikir. Mısalı, keyingi bólimde túsindirilgen IDLE Run→Run Module menyusı opciyası siziń fayllarıńızdı júrgiziwdiń ápiwayılıraq hám qátege azıraq ushıraytuǵın usılın beredi hám bárqulla kodıńızdıń házirgi versiyasın júrgizedi. Sistema komandalıq qatarı usaǵan artıqmashılıqlardı usınadı. Eger usı texnikalardı qollansańız, reload ti qollanıwıńız shárt emes.

Bunnan tısqarı, eger siz kitaptıń usı noqatında modullerdı ádettegiden tıs usıllarda qollansańız, qıyınshılıqlarǵa duwshar bolıwıńız múmkin. Mısalı, eger siz jumıs islep atırǵan direktoriyadan basqa jerde saqlanatuǵın modul faylın import qılıwdı qáleseńiz, 21-bapqa ótip, modul izlew jolı haqqında úyreniwińiz kerek boladı.

Házirshe, eger import qılıwıńız kerek bolsa, qıyınshılıqlardan saqlanıw ushın barlıq fayllarıńızdı jumıs islep atırǵan direktoriyada saqlawǵa háreket etiń. Sonday-aq, import hám reload lar Python sabaqlarda áhmiyetli sınaw usılı bolıp dálillengen, hám siz de bul usıldı qollanǵandı maqul kóriwińiz múmkin. Biraq, ádettegidey, eger ózińizdi diywalǵa urıp atırǵanday sezseńiz, diywalǵa urılıwdı toqtatıń!

Modul faylların júrgiziw ushın exec ti qollanıw

Shınında da, modul fayllarında saqlanǵan kodtı júrgiziwdiń bul jerde kórsetilgennen de kóbirek usılları bar. Mısalı, exec(open(module.py).read()) ornatılǵan funkciya shaqırıwı - bul interaktiv prompttan faylların import qılmay hám keyinirek qayta júklemey iske túsiriwdiń basqa bir usılı. Hár bir exec faydıń házirgi versiyasın júrgizedi, keyingi qayta júklewlerdi talap etpey (script1.py aldıńǵı bólimde qayta júklewden keyin qaldırǵanımızday):

C:\misc> c:\python30\python

>>> exec(open(script1.py).read()) win32

65536

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

...script1.py di tekst redaktorında ózgertiń...

>>> exec(open(script1.py).read()) win32

4294967296

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

exec shaqırıwı import qa uqsas tásir kórsetedi, biraq ol texnikalıq jaqtan moduldi import qılmaydı - ádette, hár sapar exec ti usılay shaqırǵanıńızda, ol faydı qaytadan júrgizedi, tap siz onı exec shaqırılǵan jerge jaylastırǵanday. Sonıń ushın, exec fayl ózgerislerinen keyin modullerdi qayta júklewdi talap etpeydi - ol normal modul import logikasın ótkizip jiberedi. Kemshiligi sıpatında, ol shaqırılǵan jerge kodtı jaylastırǵanday isleytuǵını sebepli, exec, aldın aytılǵan from operatorı sıyaqlı, házirgi waqıtta qollanıp atırǵan ózgeriwshilerińizdi únsiz túrde qayta jazıw múmkinshiligine iye. Mısalı, biziń script1.py x dep atalǵan ózgeriwshige mánisti belgileydi. Eger bul at exec shaqırılǵan jerde de qollanılıp atırǵan bolsa, attıń mánisi almastırıladı:

>>>x = 999

>>>exec(open(script1.py).read()) # Kod ádette usı namespace te júrgiziledi

...birdey shıǵıs...

>>>x # Onıń belgilewleri bul jerdegi atların qayta jazıwı múmkin

Spam!

Kerisinshe, tiykarǵı import operatorı faydı hár bir process ushın tek bir ret júrgizedi hám fayldı ózgeshe modul namespace etip, onıń belgilewleri siziń kóleminizde ózgeriwshilerdi ózgertpeydi. Modullerdiń namespace bóliniwi ushın tóleytuǵın baha - ózgerislerden keyin qayta júklew kerekligi bolıp tabıladı.

Versiya parqı eskertiw: Python 2.6 da execfile(module.py) ornatılǵan funkciyası bar, exec(open(module.py)) formasına qosımsha túrde, bular ekewi de avtomatik túrde fayl mazmunın oqıydı. Bul ekewi de exec(open(module.py).read()) formasına teń, ol quramalıraq, biraq 2.6 hám 3.0 de júredi. Tilekke qarsı, bul eki ápiwayı 2.6 formalarınıń hesh qaysısı 3.0 de joq, bul usı texnikanı búgin tolıq túsiniw ushın

fayllar hám olardıń oqıw metodların túsiniw kerek degenin ańlatadı (átteń, bul 3.0 de estetikanıń ámeliylikti jeńgeni bolıwı múmkin). Shınında da, 3.0 degi exec forması sonshelli kóp jazıwdı talap etedi, eń jaqsı keńes - bunı islemew bolıwı múmkin - faylardı sistema shell komanda qatarların jazıw arqalı yamasa keyingi bólimde túsindiriletuǵın IDLE menyu opciyaların qollanıw arqalı iske túsiriw eń jaqsısı. 3.0 degi exec forması haqqında kóbirek maǵlıwmat ushın 9-bapqa qarań.

IDLE paydalanıwshı interfeysi

Usı waqıtqa shekem, biz Python kodın interaktiv prompt, sistema komanda qatarları, belgi basıw, modul import etiw hám exec shaqırıwları menen qáytip júrgiziw múmkinligin kórdik. Eger siz kóbirek vizual nárse izlep atırǵan bolsańız, IDLE Python rawajlandırıw ushın grafikli paydalanıwshı interfeysin usınadı hám ol Python sistemasınıń standart hám biypul bólegi bolıp tabıladı. Ol kóbinese birlestirgen rawajlandırıw ortalıǵı (IDE) dep ataladı, sebebi ol hár túrli rawajlandırıw wazıypaların bir kóriniske birlestiredi. Qısqasha aytqanda, IDLE - bul Python programmaların redaktorlaw, orınlaw, kóriw hám sazlaw imkaniyatın beretuǵın GUI, hámmesin bir interfeysten. Bunnan tısqarı, IDLE tkinter GUI qurallar toplamın (2.6 da Tkinter dep ataladı) paydalanatuǵın Python programması bolǵanlıqtan, ol kópshilik Python platformalarında, sonıń ishinde Microsoft Windows, X Windows (Linux, Unix hám Unix sıyaqlı platformalar ushın) hám Mac OS (Classic hám OS X ekewinde de) júre aladı. Kópshilik ushın IDLE komanda qatarların jazıwdıń ańsat alternativası hám belgilerde basıwǵa qaraǵanda az máseleli alternativa bolıp xızmet etedi.

IDLE tiykarları

Keliń, mısalǵa óteyik. IDLE dı Windows ta baslaw ańsat - ol Python ushın Start túymesiniń menyusında jazıwı bar (aldın kórsetilgen 2-1-súwrette), sonday-aq onı Python programması belgisine oń túyme menen basıp tańlaw múmkin. Bazı Unix sıyaqlı sistemalarda IDLE diń joqarı dárejeli skriptin komanda qatarınan yamasa Python nıń Lib katalogınıń idlelib ishki katalogında jaylasqan idle.pyw yamasa idle.py faylınıń belgisine basıw arqalı iske túsiriw kerek bolıwı múmkin. Windows ta IDLE házirgi waqıtta C:\Python30\Lib\idlelib (yamasa Python 2.6 da C:Python26\Lib\idlelib) de jaylasqan Python skripti bolıp tabıladı.

3-3-súwret Windows ta IDLE dı baslaǵannan keyingi kórinisti kórsetedi. Dáslepki ashılǵan Python shell aynası tiykarǵı ayna bolıp, ol interaktiv sessiya júrgizedi (>>> promptına itibar beriń). Bul barlıq interaktiv sessiyalar sıyaqlı isledi - bul jerde jazǵan kodıńız jazıp bolıwdan keyin birdey atqarıladı - hám sınaw quralı sıpatında xızmet etedi.

3-3-súwret. Windows ta júrip atırǵan IDLE rawajlandırıw GUI siniń tiykarǵı Python shell aynası. Derek faylın baslaw (New Window) yamasa ózgertiw (Open...) ushın File menyusın paydalanıń; sol aynada kodtı júrgiziw ushın tekst redaktorlaw aynasınıń Run menyusın paydalanıń (Run Module).

IDLE kópshilik operaciyaları ushın tanıs menyulardı hám klavishler kombinaciyaların paydalanbaydı. IDLE astında derek kodı faylın jaratıw (yamasa redaktorlaw) ushın, tekst redaktorlaw aynasın ashıń: tiykarǵı aynada File ashılmalı menyusın tańlań hám New Window dı tańlań (yamasa bar bolǵan fayldı redaktorlaw ushın ashıw ushın Open... dı tańlań). Bul kitaptıń grafikalarında tolıq kórinbewi múmkin bolsa da, IDLE tiykarǵı aynada hám barlıq tekst redaktorlaw aynalarında jazılǵan kod ushın sintaksiske baǵdarlanǵan reńlendiriwdi paydalanaydı - gilt sózler bir reńde, literallar basqa reńde hám taǵı basqalar. Bul sizge kodıńızdaǵı komponentlerdiń jaqsıraq kórinisin beriwge járdem beredi (hám hátte qátelikleriń tabıwǵa járdem beriwi múmkin - mısalı, úziliksiz qatarlar hámme bir reńde boladı).

IDLE de redaktorlap atırǵan kod faylın júrgiziw ushın, fayldıń tekst redaktorlaw aynasın tańlań, sol aynanıń Run ashılmalı menyusin ashıń hám ol jerde kórsetilgen Run Module variantın tańlań (yamasa menyuda berilgen ekvivalent klavishlar kombinaciyasın paydalanıń). Eger siz fayldı ashqanıńızdan yamasa aqırǵı ret saqlaǵanıńızdan beri ózgertken bolsańız hám ózgerislerińizdi saqlawdı umıtqan bolsańız - kodlastırıw barısında júz beretuǵın kóp ushırasatuǵın qátelik - Python sizge dáslep faydı saqlawıńız kerekligin bildiredi.

Usı jol menen júrgizilgende, skriptińizdiń nátiyjeleri hám ol payda etiwi múmkin bolǵan qátelik xabarları tiykarǵı interaktiv aynada (Python shell aynasında) payda boladı. Mısalı, 3-3-súwrette, aynanıń ortasına jaqın jerdegi "RESTART" qatarınan keyingi úsh qatar basqa redaktorlaw aynasında ashılǵan script1.py faylımızdıń orınlanıwın kórsetedi. "RESTART" xabarı bizge paydalanıwshı kodı processiniń redaktorlanǵan skriptti júrgiziw ushın qayta baslanǵanın bildiredi hám skript nátiyjelerin ajıratıwǵa xızmet etedi (eger IDLE paydalanıwshı kodı sub-processisiz baslanǵan bolsa, ol payda bolmaydı - bul rejim haqqında azdan keyin kóbirek).

IDLE kúndelikli másláháti: Eger siz IDLE niń tiykarǵı interaktiv aynasında aldınǵı buyrıqlardı qaytalaǵıńız kelse, buyrıqlar tariyxı boyınsha artqa qarap aylandırıw ushın Alt-P klavishler kombinaciyasın hám aldıǵa qarap aylandırıw ushın Alt-N di paydalana alasız (ayırım Mac kompyuterlerinde onıń ornına Ctrl-P hám Ctrl-N di qollanıp kóriń). Siziń aldınǵı buyrıqlarıńız esletiledi hám kórsetiledi, sonday-aq olardı redaktorlaw hám qayta júrgiziw múmkin. Sonıń menen birge, kursordı olardıń ústine jaylastırıp buyrıqlardı esletiwiń yamasa kesiw hám qoyıw operaciyaların paydalanıwıńız múmkin, biraq bul usıllar kóbirek jumıstı talap etedi. IDLE den tısqarı, Windows ta interaktiv sessiyada buyrıqlardı baǵıt klavishleri menen esletiwińiz múmkin boladı.

IDLE di paydalanıw

IDLE biypul, paydalanıwǵa ańsat, kóshirmeli hám kópshilik platformalarda avtomatik túrde qoljetimli. Men onı Pythondı jańa baslaǵanlarǵa usınıs etemen, sebebi ol ayırım detallardı jeńilletedi hám sistema buyrıq qatarları menen aldın tanıs bolıwdı talap etpeydi. Biraq, ol qımbatıraq kommerciyalıq IDE lerge salıstırǵanda bir qansha sheklengen. Ayırım keń tarqalǵan qıyınshılıqlardı saplastırıwǵa járdem beriw ushın, tómende IDLE di jańa paydalanıwshılar esapqa alıwı kerek bolǵan máseleler dizimi berilgen:

Fayllarıńızdı saqlaǵanda ".py" di anıq qosıwıńız kerek. Men ulıwma fayllar haqqında aytqanımda bunı eskertken edim, biraq bul IDLE de jiyı ushırasatuǵın qıyınshılıq, ásirese Windows paydalanıwshıları ushın. IDLE fayllar saqlanǵanda fayl atlarına .py keńeytpesin avtomatik túrde qospaydı. Fayldı birinshi ret saqlaǵanda .py keńeytpesin ózińiz terip jazıwǵa itibarlı bolıń. Eger bulay islemeseńiz, faylıńızdı IDLE den (hám sistema buyrıq qatarlarınan) júrgize alasız, biraq onı interaktiv túrde yamasa basqa modullerden import ete almaysız.

Skriptlerdi tekst redaktorlaw aynalarında Run→Run Module di tańlaw arqalı júrgizińiz, interaktiv import hám qayta júklew arqalı emes. Bul baptıń aldınǵı bóliminde faydı interaktiv import qılıw arqalı júrgiziw múmkin ekenin kórgen edik. Biraq, bul usıl quramalı bolıp ketiwi múmkin, sebebi ózgerislerden keyin

fayllardı qolda qayta júklew talap etiledi. Buǵan salıstırǵanda, IDLE de Run→Run Module menyusin paydalanıw bárqulla faylıńızdıń eń sońǵı versiyasın júrgizedi, dál sistema qabıǵı buyrıq qatarı arqalı júrgizgendey. IDLE, sonday-aq, kerek bolsa, faylıńızdı birinshi saqlaw ushın sizge eskertiw beredi (IDLE den tısqarı jiyi ushırasatuǵın basqa bir qátelik).

Tek ǵana interaktiv sınap atırǵan modullerdi qayta júklew kerek. Sistema qabıǵı buyrıq qatarları sıyaqlı, IDLE niń Run→Run Module menyu opciyası bárqulla joqarı dárejeli fayl hám ol import etken barlıq modullerdiń aǵımdaǵı versiyasın júrgizedi. Usıǵan baylanıslı, Run→Run Module import qılıwǵa baylanıslı keń tarqalǵan aljasıwlardı saplastıradı. IDLE de tek ǵana interaktiv import qılıp hám sınap atırǵan modullerińizdi qayta júklew kerek boladı. Eger Run→Run Module ornına import hám qayta júklew usılın qollanıwdı tańlasańız, aldınǵı buyrıqlardı esletip alıw ushın Alt-P/Alt-N klaviatura kombinaciyaların qollana alasız dep esińizde saqlań.

Siz ILDEni ózińizge sáykeslestiriwińiz múmkin. IDLE daǵı tekst shriftleri hám reńlerin ózgertiwińiz ushın, qálegen IDLE aynasınıń Options menyusınan Configure variantın tańlań. Sonday-aq, klaviatura kombinaciyaları háreketlerin, abzac parametrlerin hám basqalardı da sáykeslestire alasız; qosımsha maǵlıwmat ushın IDLE niń járdem menyusın qarań.

Házirgi waqıtta IDLE de ekrandı tazalaw opciyası joq. Bul jiyirek soralatuǵın soraw bolıp kórinedi (bálkim, usıǵan uqsas IDElerde bar bolǵanı ushın) hám waqtı kelgende qosılıwı múmkin. Biraq, házirgi kúnde interaktiv ayna tekstin tazalawdıń hesh qanday usılı joq. Eger ayna tekstiniń joǵalıwın qáleseńiz, Enter klavishin basıp turıwıńız yamasa bir qatar bos qatarlardı basıp shıǵarıw ushın Python ciklın jazıwıńız múmkin (álbette, hesh kim keyingi usıldı qollanbaydı, biraq bul Enter klavishin basıwdan góre kóbirek joqarı texnologiyalı bolıp esitiledi!).

tkinter GUI hám kóp áwladlı baǵdarlamalar IDLE menen jaqsı islemewi múmkin. IDLE ózi Python/tkinter baǵdarlaması bolǵanlıqtan, onı ayırım túrdegi quramalı Python/tkinter baǵdarlamaların júrgiziw ushın qollanǵanda qatıp qalıwı múmkin. Bul mashqala IDLE niń keyingi versiyalarında, paydalanıwshı kodın bir processte hám IDLE GUI ózin basqa processte júrgiziwi arqalı azayǵan, biraq ayırım baǵdarlamalar (ásirese kóp áwladlı baǵdarlamalar) ele de GUI dı qatırıp qoyıwı múmkin. Siziń kodıńız bunday mashqalalardı kórsetpewi múmkin, biraq ulıwma qaǵıyda boyınsha, GUI baǵdarlamaların redaktorlaw ushın IDLE di qollanıw, al olardı basqa variantlar, mısalı belgi basıw yamasa sistema buyrıq qatarı arqalı iske túsiriw bárqulla qáwipsiz. Gúmanlı jaǵdaylarda, eger kodıńız IDLE de islemese, onı GUI sırtında sınap kóriń.

Eger baylanıs qátelikleri payda bolsa, IDLE di bir processli rejimde iske túsirip kóriń. IDLE óziniń bóleklengen paydalanıwshı hám GUI processleri arasında

baylanıstı talap etetuǵını sebepli, ol bazı platformalarda iske túsiwde qıyınshılıq keltiriwi múmkin (atap aytqanda, ol bazı Windows kompyuterlerinde baylanıslardı bloklaytuǵın firewall baǵdarlaması sebepli waqtı-waqtı menen iske túspey qaladı). Eger siz usınday baylanıs qáteliklerin ushıratsańız, IDLE di hámme waqıt sistema buyrıq qatarı menen iske túsirip, onı bir processli rejimde paydalanıwshı-kodı subprocesisiz jumıs islewge májbúrlewge hám sonıń menen baylanıs máselelerinen qutılıwǵa boladı: onıń -n buyrıq qatarı bayraǵı usı rejimdi májbúrleydi. Mısalı, Windows ta, Command Prompt aynasın ashıń hám C:\Python30\Lib\idlelib katalogı ishinen (kerek bolsa, dáslep cd arqalı sol jerge ótiń) idle.py -n sistema buyırıǵın orınlań.

• IDLE diń bazı qolaylı ózgesheliklerine dıqqat awdarıń. IDLE baslawshılar ushın ómirdi jeńillestiriw ushın kóp nárse isleydi, biraq onıń ayırım hiylelerı IDLE GUI sırtında qollanılmaydı. Mısalı, IDLE siziń skriptlerińizdi óziniń interaktiv atlar keńisliginde orınlaydı, sonlıqtan kodıńızdaǵı ózgeriwshiler avtomatik túrde IDLE interaktiv sessiyasında payda boladı - aldın orınlaǵan fayllarıńızdıń joqarı dárejesindegi atlarǵa kirisiw ushın import buyrıqların orınlawdıń hámme waqıt zárúrligi joq. Bul qolaylı bolıwı múmkin, biraq ol aljasıqlı da bolıwı múmkin, sebebi IDLE ortasınan tısqarıda atlar hámme waqıt paydalanıw ushın fayllardan import etilgen bolıwı kerek. IDLE sonday-aq avtomatik túrde jańa ǵana orınlanǵan fayl katalogına ótedi hám onıń katalogın modul import izlew jolına qosadı - bul izlew jolı sazlawlarısız sol jerdegi fayllardı import etiw imkaniyatın beretuǵın qolaylı ózgeshelik, biraq ol da IDLE sırtında fayllar orınlanǵanda birdey islemeydi. Bunday ózgesheliklerdi paydalanıw maqul, biraq olar IDLE háreketleri bolıp, Python háreketleri emes ekenin umıtpań.

IDLE diń qosımsha quralları

Tiykarǵı redaktorlaw hám orınlaw funkciyalarınan tısqarı, IDLE qosımsha múmkinshiliklerdi usınadı, sonıń ishinde kórsetiw hám basıw arqalı isleytuǵın programma otladshıgı hám obyekt kóriwshisi bar. IDLE otladshıgı Debug menyusi arqalı, al obyekt kóriwshisi File menyusi arqalı iske túsiriledi. Kóriwshi modul izlew jolı boyınsha fayllarǵa hám fayllardaǵı obyektlerge ótiw imkaniyatın beredi; fayl yamasa obyektke basıw onıń derek kodın tekst redaktorlaw aynasında ashadı.

IDLE de otladlaw bas aynada Debug→Debugger menyusin tańlaw arqalı baslanadı, keyin tekst redaktorlaw aynasında Run→Run Module variantın tańlaw arqalı skriptińizdi iske túsiresiz; otladshı iske túsirilgennen keyin, siz tekst redaktorlaw aynalarında qatarlarǵa oń túymesheni basıw arqalı kodıńızdıń orınlanıwın toqtatatuǵın úzilis noqatların ornatıwıńız, ózgeriwshiler mánislerin kórsetiwińiz hám basqa da ámellerdi orınlawıńız múmkin. Sonday-aq, otladlaw waqtında programmanıń orınlanıwın baqlawıńız múmkin - kodıńız boyınsha adımlap ótkenińizde házirgi kod qatarı belgilenedi.