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

Python programmalastırıw tilin úyreniw 4-BÓLIM_(Tipler hám Operaсiyalar)

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

Figuralı qawsırmalı literal forması qollanılsa da, sózliklerdi basqa jollar menen qurıw kóbirek tarqalǵan. Mısalı, tómendegi kod bos sózlikten baslanıp, onı bir waqıtta bir gilt penen toltıradı. Dizimlerdegi shegaradan tıs tayınlawlardan ayırmashılıǵı, jańa sózlik giltlerine tayınlawlar sol giltlerdi jaratadı:

>>>D = {}

>>>D['name'] = 'Bob' # Tayınlaw arqalı giltlerdi jaratıw

>>>D['job'] = 'dev'

>>>D['age'] = 40

>>>D

{'age': 40, 'job': 'dev', 'name': 'Bob'}

>>> print(D['name']) Bob

Bul jerde biz sózlik giltlerin birewdi súwretleytuǵın jazbadaǵı ańlatpa atları sıpatında paydalanıp atırmız. Basqa qollanıwlarda, sózlikler izlew operaсiyaların almastırıw ushın da qollanılıwı múmkin—gilt boyınsha sózlikti indekslew kóbinese Python-da izlewdi kodlawdıń eń tez usılı bolıp tabıladı.

Qayta qaralǵan jaylastırıw

Aldıńǵı mısalda biz úsh giltli sózlikti gipotetikalıq adamdı súwretlew ushın paydalandıq. Biraq, maǵlıwmat bunnan da quramalıraq bolıwı múmkin dep kóz aldıńızǵa keltiriń. Mısalı, bizge atı hám familiyasın, sonday-aq birneshe lawazımın jazıp alıw kerek bolıwı múmkin. Bul Python obyektlerin jaylastırıwdıń jáne bir qollanılıwına alıp keledi. Tómendegi sózlik, bir waqıtta literal sıpatında kodlanǵan, quramalıraq maǵlıwmattı qamtıydı:

>>> rec = {'name': {'first': 'Bob', 'last': 'Smith'}, 'job': ['dev', 'mgr'],

'age': 40.5}

Bul jerde biz jáne úsh giltli sózlikke iyemiz (giltler "name", "job" hám "age"), biraq mánisler quramalıraq bolǵan: attı qollap-quwatlaw ushın jaylastırılǵan sózlik birneshe bólimlerge iye, al lawazım ushın jaylastırılǵan dizim birneshe wazıypalardı hám keleshekte keńeytiwdi qollap-quwatlaydı. Biz bul strukturanıń komponentlerine aldıńǵı matriсamız ushın islegenimizdey kirise alamız, biraq bul jolı indekslerimizdiń geyparaları dizim jıljıwları emes, al sózlik giltleri:

>>>rec['name'] # 'name' jaylastırılǵan sózlik

{'last': 'Smith', 'first': 'Bob'}

>>>rec['name']['last'] # Jaylastırılǵan sózlikti indekslew

'Smith'

>>>rec['job'] # 'job' jaylastırılǵan dizim ['dev', 'mgr']

>>>rec['job'][-1] # Jaylastırılǵan dizimdi indekslew 'mgr'

>>>rec['job'].append('janitor') # Bobtıń lawazım súwretlemesin ornında keńeytiw

>>>rec

{'age': 40.5, 'job': ['dev', 'mgr', 'janitor'], 'name': {'last': 'Smith',

'first': 'Bob'}}

Dıqqat awdarıń, sońǵı operaсiya jaylastırılǵan lawazım dizimin keńeytedi - sebebi lawazım dizimi onı qamtıytuǵın sózlikten bólek yadta saqlanadı, ol erkin túrde ósip hám kishireye aladı (obyekt yadınıń dúzilisi haqqında kitaptıń keyingi bólimlerinde tolıǵıraq talqılanadı).

Bul mısaldı kórsetiwdiń haqıyqıy sebebi - Pythonnıń tiykarǵı maǵlıwmat tipleriniń iykemliligin kórsetiw. Kórip turǵanıńızday, jaylastırıw bizge quramalı maǵlıwmat strukturaların tikkeley hám ańsat qurıwǵa múmkinshilik beredi. C sıyaqlı tómen dárejeli tilde uqsas strukturanı qurıw qıyın hám kóbirek kod talap eter edi: bizge strukturalardı hám massivlerdi jobalastırıw hám járiyalaw, mánislerdi toltırıw, hámmesin bir-birine baylanıstırıw hám t.b. kerek bolar edi. Pythonda bulardıń hámmesi avtomatik túrde orınlanadı - ańlatpanı orınlaw biziń ushın pútkil jaylastırılǵan obyekt strukturasın dúzedi. Haqıyqatında, bul Python sıyaqlı skript tilleriniń tiykarǵı artıqmashılıqlarınıń biri.

Sonıń menen birge, tómen dárejeli tilde bizge obyekttiń ornın oǵan endi mútáj bolmaǵanımızda dıqqat penen tazalaw kerek bolar edi. Pythonda, obyektke bolǵan sońǵı siltemeni joǵaltqanımızda - mısalı, onıń ózgermelisine basqa nárse tayınlaw arqalı - sol obyekttiń strukturası iyelegen barlıq yadtıń ornı avtomatik túrde biziń ushın tazalanadı:

>>> rec = 0 # Endi obyekttiń ornı qaytarıp alınadı

Texnikalıq jaqtan aytqanda, Pythonda "shıǵındı jıynaw" dep atalatuǵın ózgeshelik bar, ol baǵdarlamańız jumıs islep atırǵanda paydalanılmaytuǵın yadtı tazalaydı hám sizdi kodıńızda usınday waqıyalardı basqarıwdan azat etedi. Pythonda orın dárhal, obyektke bolǵan sońǵı silteme alıp taslanǵannan keyin birden qaytarıp alınadı. Bunıń qalay isleytuǵının kitaptıń keyingi bólimlerinde úyrenemiz; házirshe, obyektlerdi erkin qollanıwıńız múmkin ekenin, olardıń ornın jaratıw

yamasa jumıs barısında tazalaw haqqında qayǵırmay-aq qoyatuǵınıńızdı biliw jetkilikli.

Giltlerdi sáykeslestiriw: for ciklı

Sáykeslestiriwler sıpatında, burın kórgenimizdey, sózlikler tek ǵana elementlerge gilt arqalı kiriwdi qollaydı. Biraq, olar sonday-aq kóp sanlı ulıwma qollanıw jaǵdaylarında paydalı bolǵan metod shaqırıwları menen túrge tán operaсiyalardı da qollaydı.

Burın aytılǵanınday, sózlikler izbe-izlik bolmaǵanlıqtan, olar hesh qanday isenimli shepten ońǵa tártipti saqlamaydı. Bul, eger biz sózlik jasap, onı qaytadan basıp shıǵarsaq, onıń giltleri biziń olardı teriwimizden basqasha tártipte qaytıwı múmkin degendi ańlatadı:

>>>D = {'a': 1, 'b': 2, 'c': 3}

>>>D

{'a': 1, 'c': 3, 'b': 2}

Biraq, eger bizge sózliktiń elementlerine tártip beriw kerek bolsa, ne isleymiz? Bir ulıwma sheshim - sózliktiń keys metodı menen giltler dizimin alıw, onı dizimniń sort metodı menen sáykeslestiriw, hám sońınan nátiyje boyınsha Python for ciklı menen júriw (tómendegi for ciklın kodlaǵannan keyin Enter túymesin eki ret basıwdı umıtpań - 3-bapta túsindirilgendey, bos qatar interaktiv kórsetkishte "bar" degendi ańlatadı, hám geybir interfeyslerde kórsetkish "..." ǵa ózgeredi):

>>>Ks = list(D.keys()) # Tártipsiz giltler dizimi

>>>Ks # 2.6 da dizim, 3.0 da "kórinisi": list() qollanıń ['a', 'c', 'b']

>>>Ks.sort() # Sáykeslestirilgen giltler dizimi

>>>Ks

['a', 'b', 'c']

>>> for key in Ks: # Sáykeslestirilgen giltler boyınsha aylanıw print(key, '=>', D[key]) # <== bul jerde Enter di eki ret basıń a => 1

b => 2 c => 3

Bul úsh basqıshlı proсess, biraq, keyingi baplarda kóretuǵınımızday, Python nıń jańa versiyalarında bunı jańa sorted vstroennıy funkсiyası menen bir basqıshta islewge boladı. sorted shaqırıwı nátiyjeni qaytaradı hám hár túrli obyekt túrlerin sáykeslestiredi, bul jaǵdayda sózlik giltlerin avtomatik túrde sáykeslestiredi:

>>> D

{'a': 1, 'c': 3, 'b': 2}

>>> for key in sorted(D): print(key, '=>', D[key]) a => 1

b => 2 c => 3

Sózliklerdi kórsetiwden tısqarı, bul qollanıw jaǵdayı Python for ciklın tanıstırıwǵa xızmet etedi. for ciklı - bul izbe-izliktegi barlıq elementler arqalı ótiw hám hár bir element ushın kod blogın orınlawdıń ápiwayı hám nátiyjeli usılı. Paydalanıwshı tárepinen anıqlanǵan cikl ózgeriwshisi (bul jerde key) hár ótiwde aǵımdaǵı elementke silteme jasaw ushın qollanıladı. Biziń mısalımızda ulıwma nátiyje - tártipsiz sózliktiń giltleri hám mánislerin sáykeslestirilgen gilt tártibinde basıp shıǵarıw.

for ciklı hám onıń ulıwmalıq tuwısqanı while ciklı - biziń skriptlerimizde qaytalanıwshı tapsırmalardı operatorlar sıpatında kodlawdıń tiykarǵı usılları. Shınında da, for ciklı (burın tanıs bolǵan onıń tuwısqanı list comprehension sıyaqlı) izbe-izlik operaсiyası bolıp tabıladı. Ol hár qanday izbe-izlik obyektinde isleydi hám, list comprehension sıyaqlı, hátte izbe-izlik bolmaǵan nárselerde de isleydi. Mısalı, bul jerde ol qatardaǵı háripler boyınsha júrip, hár biriniń bas hárip versiyasın basıp shıǵaradı:

>>> for c in 'spam': print(c.upper())

S

P

A

M

Python nıń while ciklı - bul ulıwmalıraq cikl quralı, ol tek izbe-izlikler boyınsha júriw menen sheklenbeydi:

>>>x = 4

>>>while x > 0: print('spam!' * x) x -= 1 spam!spam!spam!spam! spam!spam!spam! spam!spam!

spam!

Biz cikl operatorları, sintaksis hám qurallardı kitaptıń keyingi bólimlerinde tolıǵıraq talqılaymız.

Iteraсiya hám optimizaсiya

Eger sońǵı bólimdegi for ciklı aldın tanıstırılǵan list comprehension ańlatpasına uqsas kórinse, bul durıs: ekewi de ulıwma iteraсiya quralları bolıp tabıladı. Shınında da, ekewi de iteraсiya protokolın qollaytuǵın hár qanday obyektte isleydi - bul Pythondaǵı keń tarqalǵan ideya, ol tiykarınan yadta fizikalıq saqlanǵan izbeizlikti yamasa iteraсiya operaсiyası kontekstinde bir waqıtta bir element jaratıwshı obyektti ańlatadı. Eger obyekt iter vstroennıy funkсiyasına next ke juwap beretuǵın obyekt penen juwap berse, ol sońǵı kategoriyaǵa kiredi. Burın kórgen generator comprehension ańlatpası usınday obyekt bolıp tabıladı.

Men bul kitapta iteraсiya protokolı haqqında kóbirek aytaman. Házirshe esińizde bolsın, obyektti shepten ońǵa qaray skanerleytuǵın hár bir Python quralı iteraсiya protokolın qollanadı. Usı sebepli aldıńǵı bólimde qollanılǵan sorted shaqırıwı sózlikte tikkeley isleydi - bizge izbe-izlik alıw ushın keys metodın shaqırıwdıń keregi joq, sebebi sózlikler iteraсiyalanatuǵın obyektler bolıp, olardıń next i izbe-iz giltlerdi qaytaradı.

Bul sonday-aq hár qanday list comprehension ańlatpasın, mısalı, sanlar diziminiń kvadratların esaplaytuǵın mına ańlatpanı:

>>>squares = [x ** 2 for x in [1, 2, 3, 4, 5]]

>>>squares

[1, 4, 9, 16, 25]

bárqulla nátiyje dizimin qol menen qurastıratuǵın, ekvivalent for ciklı túrinde kodlawǵa bolatuǵının ańlatadı:

>>>squares = []

>>>for x in [1, 2, 3, 4, 5]: # Bul list comprehension ne isleytuǵının kórsetedi

squares.append(x ** 2) # Ekewi de ishki iteraсiya protokolın orınlaydı

>>>squares

[1, 4, 9, 16, 25]

Degen menen, list comprehension hám oǵan baylanıslı map hám filter sıyaqlı funkсionallıq programmalastırıw quralları, búgingi kúnde for ciklına qaraǵanda tezirek jumıs isleydi (hátte eki ese tezirek bolıwı múmkin) - bul qásiyet úlken

maǵlıwmatlar toplamları ushın siziń programmalarıńızda áhmiyetli bolıwı múmkin. Soǵan qaramastan, Python da ónimlilik ólshemleri qıyın másele ekenin atap ótiwim kerek, sebebi ol kóp nárseni optimizaсiyalaydı hám ónimlilik hár bir relizde ózgeriwi múmkin.

Python da tiykarǵı qaǵıyda - dáslep ápiwayılıq hám oqıwǵa qolaylılıq ushın kod jazıw, al ónimlilik haqqında keyinirek, programmańız islep atırǵanda hám haqıyqıy ónimlilik máselesi bar ekenin dálillegennen keyin oylanıw. Kóbinese, siziń kodıńız sol halında jetkilikli dárejede tez boladı. Eger sizge ónimlilik ushın kodtı optimallastırıw kerek bolsa, Python sizge járdem beriw ushın qurallar usınadı, sonıń ishinde time hám timeit modulleri hám profile moduli bar. Bular haqqında usı kitaptıń keyingi bólimlerinde hám Python qollanbalarında kóbirek maǵlıwmat tabasız.

Joq giltler: if tekseriwleri

Alǵa jıljıwdan aldın sózlikler haqqında jáne bir eskertpe. Biz jańa gilt arqalı sózlikti keńeyte alsaq ta, joq giltti alıw ele de qáte bolıp esaplanadı:

>>> D

{'a': 1, 'c': 3, 'b': 2}

>>>D['e'] = 99 # Jańa giltlerdi tayınlaw sózlikti keńeytedi

>>>D

{'a': 1, 'c': 3, 'b': 2, 'e': 99}

>>> D['f'] # Joq giltke múrájat etiw qáte

...qáte tekst ótkizip jiberildi...

KeyError: 'f'

Bul bizge kerek nárse - ádette, haqıyqatında joq nárseni alıwǵa urınıw programmalastırıw qátesi bolıp esaplanadı. Biraq ayırım ulıwma programmalarda, kodımızdı jazǵan waqıtta qaysı giltlerdiń bar bolatuǵının bárqulla bile almaymız. Bunday jaǵdaylardı qalay sheship, qátelerden qalay qashamız? Bir usıl - aldın ala tekseriw. Sózliktegi aǵzalıq ańlatpası bizge gilttiń bar-joqlıǵın soraw hám nátiyjege qarap Python if bildiriwi menen tarmaqlanıwǵa múmkinshilik beredi (for sıyaqlı, interaktiv rejimde if di orınlaw ushın Enter di eki ret basıwdı umıtpań):

>>>'f' in D False

>>>if not 'f' in D: print('joq')

joq

Men if bildiriwi hám ulıwma bildiriw sintaksisi haqqında usı kitapta keyinirek kóbirek aytaman, biraq biziń bul jerde qollanıp atırǵan formamız ápiwayı: ol if sózinen, keyin haqıyqıy yamasa jalǵan nátiyje sıpatında túsindiriletuǵın ańlatpadan hám tekseriw haqıyqıy bolsa orınlanatuǵın kod blogınan ibarat. Tolıq formasında, if bildiriwinde sonday-aq standart jaǵday ushın else bólimi hám basqa tekseriwler ushın bir yamasa birneshe elif (else if) bólimleri bolıwı múmkin. Bul Python daǵı tiykarǵı tańlaw quralı hám biziń skriptlerimizde logikanı kodlaw usılı.

Soǵan qaramastan, sózliklerdi jaratıwdıń hám joq giltlerge kiriwden qashıwdıń basqa da usılları bar: get metodı (standart mánisi bar shártli indeks); Python 2.X daǵı has_key metodı (3.0 da endi joq); try bildiriwi (10-bapta birinshi ret ushırasatuǵın, pútkilley qátelerdi uslap alatuǵın hám ońlaytuǵın qural); hám if/else ańlatpası (ámelde, bir qatarǵa qısılǵan if bildiriwi). Mine birneshe mısallar:

>>>value = D.get('x', 0) # Indekslew, biraq standart mánisi menen

>>>value

0

>>>value = D['x'] if 'x' in D else 0 # if/else ańlatpası forması

>>>value

0

Bunday alternativalardıń tápsilatların keyingi bapqa qaldıramız. Házirshe, kortejlerge óteyik.

Kortejler

Kortej obyekti (kimnen sorasańız, "tupl" yamasa "tapl" dep aytıladı) shama menen

ózgertilmeytuǵın dizimge uqsaydı - kortejler dizimler sıyaqlı izbe-izlik bolıp tabıladı, biraq qatarlar sıyaqlı ózgermeytuǵın. Sintaksis jaǵınan olar kvadrat qawsırmalar ornına dóńgelek qawsırmalarda jazıladı hám qálegen tiplerdi, qálegen uyalasıwdı hám ádettegi izbe-izlik operaсiyaların qollaydı:

>>>T = (1, 2, 3, 4) # 4 elementli kortej

>>>len(T) # Uzınlıǵı

4

>>>T + (5, 6) # Biriktiriw (1, 2, 3, 4, 5, 6)

>>>T[0] # Indekslew, kesiw hám basqalar

1

Kortejlerdiń sonday-aq Python 3.0 da eki tipke tán shaqırılatuǵın metodı bar, biraq dizimlerdegidey kóp emes:

>>>T.index(4) # Kortej metodları: 4 sanı 3-orında jaylasqan

3

>>>T.count(4) # 4 sanı bir ret kezdesedi

1

Kortejlerdiń tiykarǵı ózgesheligi - olar dúzilgennen keyin ózgertilmeydi. Yaǵnıy, olar ózgermeytuǵın izbe-izlikler:

>>> T[0] = 2 # Kortejler ózgermeytuǵın

...qáte tekst jiberildi...

TypeError: 'tuple' obyekti element tayınlawdı qollap-quwatlamaydı

Dizimler hám sózlikler sıyaqlı, kortejler aralas tiplerdi hám uyalasıwdı qollapquwatlaydı, biraq olar ózgermeytuǵın bolǵanlıqtan, ósip yamasa kishireymeydi:

>>>T = ('spam', 3.0, [11, 22, 33])

>>>T[1]

3.0

>>>T[2][1]

22

>>>T.append(4)

AttributeError: 'tuple' obyektinde 'append' atributı joq

Kortejler ne ushın kerek?

Solay etip, nege dizimge uqsas, biraq az operaсiyalardı qollap-quwatlaytuǵın tip kerek? Ashıǵın aytqanda, kortejler ámeliyatta dizimlerge qaraǵanda siyrek qollanıladı, biraq olardıń ózgermeytuǵınlıǵı - bul olardıń tiykarǵı maqseti. Eger siz obyektler toplamın baǵdarlamańız boyınsha dizim sıpatında jiberseńiz, ol hár jerde ózgertiliwi múmkin; eger kortej qollansańız, ol ózgertilmeydi. Yaǵnıy, kortejler biziń bul jerde jazatuǵınımızdan úlkenirek baǵdarlamalarda qolaylı bolǵan bir túrli pútinlik sheklewin támiyinleydi. Biz kortejler haqqında kitaptıń keyingi bólimlerinde kóbirek sóylesemiz. Házirshe bolsa, sońǵı tiykarǵı ózek tipimizge - faylǵa óteyik.

Fayllar

Fayl obyektleri - bul Python kodınıń siziń kompyuterińizdegi sırtqı fayllar menen baylanısıwınıń tiykarǵı interfeysi. Fayllar - bul tiykarǵı tip, biraq olar biraz

ózgeshe - olardı jaratıw ushın arnawlı literal sintaksis joq. Onıń ornına, fayl obyektin jaratıw ushın, siz built-in open funkсiyasın shaqırıp, oǵan sırtqı fayl atın hám proсess rejimin qatar retinde beresiz. Mısalı, tekst shıǵarıw faylın jaratıw

ushın, siz onıń atın hám maǵlıwmat jazıw ushın 'w' proсess rejimi qatarın beriwińiz kerek:

>>>f = open('data.txt', 'w') # Shıǵarıw rejiminde jańa fayl jaratıw

>>>f.write('Hello\n') # Oǵan bayt qatarların jazıw

6

>>>f.write('world\n') # Python 3.0-de jazılǵan baytlar sanın qaytaradı

6

>>>f.close() # Shıǵarıw buferlerin diskke jazıw ushın jabıw

Bul aǵımdaǵı papkada fayl jaratadı hám oǵan tekst jazadı (eger sizge kompyuterińizdiń basqa jerinde faylǵa kiriw kerek bolsa, fayl atı tolıq papka jolı bolıwı múmkin). Jańa ǵana jazǵanıńızdı qayta oqıw ushın, fayldı 'r' proсess rejiminde qayta ashıń, bul tekst kirisi ushın - eger shaqırıwda rejimdi kórsetpeseńiz, bul ádepki rejim. Sońınan fayl mazmunın qatarǵa oqıń hám kórsetiń. Fayl mazmunı bárqulla siziń skriptińizde qatar boladı, fayldaǵı maǵlıwmatlar tipine qaramastan:

>>>f = open('data.txt') # 'r' ádepki proсess rejimi

>>>text = f.read() # Pútkil fayldı qatarǵa oqıw

>>>text 'Hello\nworld\n'

>>>print(text) # print basqarıw belgilerin interpretaсiyalaydı Hello

world

>>>text.split() # Fayl mazmunı bárqulla qatar

['Hello', 'world']

Fayl obyektleriniń basqa metodları bizge bul jerde qarap shıǵıwǵa waqtımız jetpeytuǵın qosımsha múmkinshiliklerdi qollaydı. Mısalı, fayl obyektleri oqıw hám jazıwdıń kóbirek usılların usınadı (read opсiyalıq bayt ólshemin qabıl etedi, readline bir waqıtta bir qatardı oqıydı hám t.b.), sonday-aq basqa qurallar da bar (seek jańa fayl poziсiyasına ótedi). Biraq, keyinirek kóretuǵınımızday, búgingi kúnde fayldı oqıwdıń eń jaqsı usılı - onı hesh oqımaw. Fayllar for cikllarında hám basqa kontekstlerde avtomat túrde qatarma-qatar oqıytuǵın iterator beredi.

Biz fayl metodlarınıń tolıq jıynaǵın bul kitaptıń keyingi bólimlerinde kóremiz, biraq eger siz házir tez kóz juwırtıp shıqqıńız kelse, ashıq faylǵa dir shaqırıwın orınlań hám qaytıp kelgen metod atlarınıń hár qaysısına help shaqırıwın orınlań:

>>> dir(f)

[ ...kóp atlar ótkizip jiberildi...

'buffer', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty',

'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline',

'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write',

'writelines']

>>> help(f.seek)

...sınap kóriń hám nátiyjesin kóriń...

Kitaptıń keyingi bólimlerinde, Python 3.0-de fayllardıń tekst hám binar maǵlıwmatlar arasında ayqın ayırmashılıq jasaytuǵının kóremiz. Tekst faylları mazmundı qatarlar túrinde kórsetedi hám Unicode kodlaw hám dekodlawdı avtomat túrde orınlaydı, al binar fayllar mazmundı arnawlı bytes qatar túri sıpatında kórsetedi hám fayl mazmunına ózgertiwsiz kiriwge múmkinshilik beredi:

>>>data = open('data.bin', 'rb').read() # Binar fayldı ashıw

>>>data # bytes qatarı binar maǵlıwmatlardı saqlaydı b'\x00\x00\x00\x07spam\x00\x08'

>>>data[4:8]

b'spam'

Eger siz tek ASCII tekst penen islesetuǵın bolsańız, bul ayırmashılıqqa ulıwma itibar beriwińiz kerek emes, biraq Python 3.0-dıń qatarları hám faylları xalıqaralıq qollanbalar yamasa baytqa baǵdarlanǵan maǵlıwmatlar menen islesetuǵın bolsańız paydalı boladı.

Basqa faylǵa uqsas qurallar

Open funkсiyası Python-da orınlaytuǵın kópshilik fayl qayta islew ushın tiykarǵı qural bolıp tabıladı. Biraq quramalıraq tapsırmalar ushın Python qosımsha faylǵa uqsas qurallar menen keledi: pipes, FIFO-lar, soketler, giltli kiriw faylları, turaqlı obyekt sóreleri, deskriptorǵa tiykarlanǵan fayllar, relyaсiyalıq hám obyektke baǵdarlanǵan maǵlıwmatlar bazası interfeysleri hám taǵı basqalar. Mısalı, deskriptor faylları fayldı qulıplaw hám basqa tómen dárejeli qurallardı qollaydı, al soketler tarmaqlaw hám proсessler aralıq baylanıs ushın interfeys beredi. Biz bul kitapta bul temalardıń kópshiligin qamtıp ótpeymiz, biraq siz Python-da shın mánisinde programmalastırıwdı baslaǵanıńızda olardı paydalı dep tabasız.

Basqa tiykarǵı tipler