Seriál: V zajatí Pythona / 1. časť: Úvod

Ide­te s do­bou? Vie­te prog­ra­mo­vať? Vy­uží­va­te vo svo­jich prog­ra­moch kryp­tog­ra­fiu ale­bo ne­bo­daj mul­ti­mé­diá? Prog­ra­mu­je­te pre X Win­dow Sys­tem a inter­ne­to­vé ap­li­ká­cie? Ste spo­koj­ní s do­bou vý­vo­ja va­šich prog­ra­mov?

Ak ste od­po­ve­da­li na všet­ky otáz­ky „áno”, tak už ur­či­te po­uží­va­te Pyt­hon. A ke­by sa vám pá­či­lo od­po­ve­dať na všet­ky otáz­ky áno, tak čí­taj­te ďa­lej a ja vám pred­sta­vím Je­ho vý­sosť Pyt­ho­na, kto­rý si vás ur­či­te zís­ka tak ako mňa a po­tom vás už ne­pus­tí.

Čo je to Pyt­hon?

Pyt­hon je voľ­ne dos­tup­ný inter­pre­to­va­ný, ob­jek­to­vo orien­to­va­ný prog­ra­mo­va­cí ja­zyk. Je­ho autor Gui­do van Ros­sum za­čal s je­ho vý­vo­jom v ro­ku -1 li­nuxové­ho le­to­poč­tu (po­zri zdro­jo­vý kód na kon­ci člán­ku), po­pri­tom si po­ži­čal os­ved­če­né ve­ci z ja­zy­kov ako C, C++, Lisp, Smalltalk, Mo­du­la 3 a iných. Pyt­hon po­nú­ka high-le­vel dá­to­vé ty­py, trie­dy, mož­nosť prá­ce s mo­dul­mi a s chy­ba­mi sa vy­rov­ná po­mo­cou vý­ni­miek. Tie­to špe­cia­li­ty ro­bia z ne­ho op­ti­mál­ny ja­zyk na rých­ly vý­voj ap­li­ká­cií (RAD). Je to prog­ra­mo­va­cí ja­zyk pre mi­ni­ma­lis­tov, pres­ne po­dľa mot­ta „less is mo­re”. Gui­do pri je­ho vý­vo­ji sta­vil na tie­to kon­cep­ty:

• ma­lý po­čet vý­kon­ných a kom­bi­no­va­teľ­ných zá­klad­ných dá­to­vých ty­pov, štan­dar­dných fun­kcií a konštruk­cií,
• štruk­tú­ro­va­teľ­nosť po­mo­cou blo­kov, fun­kcií, tried a mo­du­lov,
• všet­ky pr­vky ja­zy­ka sú ob­jek­ty, čo zna­me­ná, že sa s ni­mi ma­ni­pu­lu­je ako s iný­mi dá­ta­mi,
• roz­ší­ri­teľ­nosť – pre Pyt­hon nie je prob­lém „asi­mi­lo­vať” os­ved­če­né pr­vky z iných ja­zy­kov.

Vďa­ka tým­to kon­cep­tom vzni­kol ja­zyk, kto­rý od­stra­ňu­je hlav­né ne­dos­tat­ky iných ja­zy­kov. Naj­väč­ší prob­lém C/C++ je dĺžka vý­vo­jo­vé­ho cyk­lu. Je ne­vyh­nut­né na­pí­sať prog­ram, kom­pi­lo­vať ho, tes­to­vať a re­kom­pi­lo­vať ho. Pri Pyt­ho­ne od­pa­dá (re)kom­pi­lá­cia, tes­to­va­nie je krat­šie a ľah­šie, ok­rem to­ho má Pyt­hon krat­šie a preh­ľad­nej­šie zdro­jo­vé kó­dy. Aj pre­to je vý­voj prog­ra­mov v Pyt­ho­ne krat­ší ako v iných ja­zy­koch, do­kon­ca 5 až 10-krát krat­ší ako v C/C++. Hlav­nú zbraň Per­lu – re­gu­lár­ne vý­ra­zy – po­nú­ka Pyt­hon v mo­du­le re­gexp. Ta­kis­to po­mo­cou štan­dar­dne do­dá­va­ných mo­du­lov bu­de­te môcť hra­vo vy­uží­vať kryp­tog­ra­fiu, mul­ti­mé­diá, X Win­dow Sys­tem PO­SIX sys­tem calls, uľah­čí­te si prá­cu s re­ťaz­ca­mi, da­ta­bá­za­mi a inter­ne­tom (WWW, FTP, CGI, HTML/XML). Tie­to mo­du­ly vám bu­dú fun­go­vať tak pod rôz­ny­mi Unixmi, ako aj pod OS Win­dows a Ma­cin­tosh, čo zna­me­ná sko­ro sto­per­cen­tnú po­rta­bi­li­tu. Pyt­hon je na­vy­še veľ­mi ele­gant­ný a jed­no­duc­hý ja­zyk, kto­rý sa dá bez prob­lé­mov rých­lo nau­čiť. Mi­moc­ho­dom, Pyt­hon ne­bol po­me­no­va­ný po ne­ja­kom ha­do­vi, ale po show BBC Mon­ty Pyt­hon’s Flying Cir­cus.

In­šta­lá­cia

Pyt­hon je ne­ná­roč­ný plaz. Má rád všet­ky Unixy, ale str­pí aj Mac a Win­dows. Na Unixoch bý­va čas­to pre­din­šta­lo­va­ný. V prí­pa­de, že nie je ale­bo ho chce­te pre iný OS, stiah­ni­te si ho z ftp.pyt­hon.org. Tu náj­de­te vždy naj­nov­šiu ver­ziu, čo je mo­men­tál­ne 1.6 al­pha. My sa však bu­de­me ve­no­vať sta­rej dob­rej, os­ved­če­nej a sta­bil­nej 1.52.

Pr­vé kro­ky

Inter­pre­ta Pyt­ho­na spus­tí­te prí­ka­zom pyt­hon, ak ste Pyt­hon kom­pi­lo­va­li, tak /usr/lo­cal/bin/pyt­hon. Ma­lo by sa vám zob­ra­ziť:

Pyt­hon 1.5.2 (#1, Feb 1 2000, 16:32:16) [GCC egcs-2.91.66 19990314/Li­nux (egcs- on li­nux-i686 
Co­py­right 1991-1995 Stic­hting Mat­he­ma­tisch Cen­trum, Am­ster­dam 
>>>

a vy si mô­že­te vy­skú­šať Pyt­hon ako kal­ku­lač­ku, prí­pad­ne si mô­že­te na­pí­sať ul­ti­ma­tív­ny prog­ram pre za­čia­toč­ní­kov:

>>> print ‘Hello World!’

Inter­pre­ta opus­tí­te stla­če­ním klá­ve­su EOF na práz­dnom riad­ku (pod Unixmi CTRL+D, pod Win­dows F6) ale­bo prí­ka­zom

>>> im­port sys; sys.exit() 

Pyt­ho­nov­ské sú­bo­ry sa uk­la­da­jú do sú­bo­rov s prí­po­nou .py. Tie vy­ko­ná­te prí­ka­zom pyt­hon su­bor.py. Ak po­uží­va­te ne­ja­ký va­riant ope­rač­né­ho sys­té­mu Unix a nas­ta­ví­te to­mu­to sú­bo­ru execu­te bit (napr.: chmod 755) a je­ho pr­vý ria­dok ob­sa­hu­je #!/usr/bin/env pyt­hon, mô­že­te ho spus­tiť pria­mo (./su­bor.py). Náš ul­ti­ma­tív­ny prog­ram pre za­čia­toč­ní­kov by v tom­to prí­pa­de vy­ze­ral asi tak­to:

#!/usr/bin/env pyt­hon 
print ‘Hello World!’ 

A te­raz sa vrá­tim k li­nuxové­mu le­to­poč­tu. Tak ako Čí­ňa­nia, In­do­via a iné ná­ro­dy ma­jú vlas­tné le­to­poč­ty, ne­vi­dím dô­vod, pre­čo by priaz­niv­ci Li­nuxu ne­ma­li mať vlast­ný. My si vy­tvo­rí­me prog­ram, kto­rý bu­de vy­chád­zať zo štan­dar­dné­ho kres­ťan­ské­ho ka­len­dá­ra, s tým, že za­čne­me po­čí­tať od ro­ku 1991. Ot­vor­te si vo va­šom ob­ľú­be­nom texto­vom edi­to­re no­vý sú­bor a po­me­nuj­te ho lin­cal, opíš­te doň nas­le­du­jú­ci zdro­jo­vý kód, nas­tav­te mu execu­te bit. Prog­ram mô­že­te spus­tiť bez ale­bo s ľu­bo­voľ­ným po­čtom čí­sel­ných ar­gu­men­tov.

#!/usr/bin/env pyt­hon
“””li­nuxov­sky ca­len­dar ver­zia 0.1\ n
pu­zi­tie: ./lin­cal.py rok
         ./lin­cal.py rok1 rok2 ...”””

im­port sys

if len(sys.argv) == 1:
        print __doc__ + ‘\ n’

def llrok(rok):
        re­turn int(rok)-1991

for arg in sys.argv[1:]:
        print llrok(arg)

Vy­bral som ta­ký­to jed­no­duc­hý prík­lad, le­bo si mys­lím, že je ľah­ko po­cho­pi­teľ­ný a uka­zu­je nie­koľ­ko dô­le­ži­tých vlas­tnos­tí, s kto­rý­mi sa bu­de­me za­obe­rať v nas­le­du­jú­cej čas­ti se­riá­lu.

Re­fe­ren­cie: www.pyt­hon.org

Ďal­šie čas­ti >>

Zdroj: PC Revue



Ohodnoťte článok:
   
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter