Difference between revisions of "Python"

From Fab Lab Wiki - by NMÍ Kvikan
Jump to: navigation, search
(New page: '''Python''' er auðvelt, vinsælt og öflugt forritunarmál sem var búið til af Guido van Rossum og fleirum. Það eru til þó nokkur afbrigði af málinu, en hér verður eingöngu ta...)
 
Line 2: Line 2:
  
 
Um sögu og eiginleika Python má lesa á [http://en.wikipedia.org/wiki/Python_(programming_language) Wikipedia greininni um Python].
 
Um sögu og eiginleika Python má lesa á [http://en.wikipedia.org/wiki/Python_(programming_language) Wikipedia greininni um Python].
 +
 +
== Um Python ==
 +
Ef þú vinnur mikið með tölvur muntu að lokum finna að það eru ýmis verk sem þú gerir aftur og aftur sem væri gott að gera sjálfvirk. Til dæmis gætirðu viljað leita að texta og skipta honum út fyrir annan texta í mjög stóru safni skráa, eða endurnefna og flokka myndir eftir flóknum reglum. Kannski langar þig til að búa til lítinn gagnagrunn eða grafískt viðmót fyrir eitthvað, eða jafnvel tölvuleik.
 +
 +
Ef þú ert forritari þá gætirðu verið vanur því að vinna með nokkur C/C++/Java aðgerðasöfn en finnst skrifa/þýða/prófa/endurþýða ferlið of hægvirkt. Kannski ertu að skrifa prófanasafn fyrir eitthvað aðgerðasafn og þér finnst það seinlegt og leiðinlegt að búa til prófin. Eða þú hefur skrifað forrit sem gæti notað skriftumál, en þú villt ekki hanna og þróa sérstakt mál fyrir forritið þitt.
 +
 +
Þá er Python mál fyrir þig.
 +
 +
Þú gætir búið til [[Linux skipanalínan|Unix skeljarskriftu]] eða Windows bat-skrár fyrir sum þessara verkefna, en skeljaskriftur henta vel í að færa skrár og breyta texta, en ekki í að búa til grafísk viðmót eða tölvuleiki. Þú gætir skrifað C/C++/Java forrit, en það myndi taka heila eilífð að fá fyrsta uppkastið að forritinu. Python er auðveldara í notkun, fáanlegt á Windows, MacOS X og Unix stýrikerfum, og hjálpar þér að leysa vandamálið hratt og örugglega.
 +
 +
Python er einfallt í notkun, en það er líka alvöru forritunarmál, með strúktúr og stuðning fyrir stór og flókin forrit. Það býður upp á betri villumeðhöndlun en C, og þar sem Python er á mjög háu stigi hefur það margar innbyggðar [[gagnagrindur]] svo sem lista og orðabækur sem mörg lægri forritunarmál hafa ekki. Vegna þess að gagnatýpurnar og gagnagrindurnar er mjög almenns eðlis er hægt að nota þær í mun stærra samhengi en mörg önnur forritunarmál bjóða upp á með auðveldum hætti.
 +
 +
Python leyfir þér að brjóta forritið þitt upp í einingar sem má endurnota í öðrum Python forritum. Það er stórt safn af einingum sem fylgir með sem þú getur notað sem grunn fyrir forritin þín - eða sem dæmi til að læra að forrita í Python. Þessar einingar bjóða upp á skráarvinnslu, stýrikerfisköll, sockets, grafísk viðmót og fleira.
 +
 +
=== Uppbygging málsins ===
 +
 +
Python er túlkað mál, sem getur sparað þér mikinn tíma við þróun þar sem engin vistþýðing (compilation) eða tenging (linking) er nauðsynleg. Túlkinn má nota á gagnvirkan hátt, sem gerir það auðvelt að prófa sig áfram með málið, skrifa forrit sem "hendast eftir notkun", og prófa föll við "bottom-up" þróun. Auk þess er gagnvirki túlkurinn svakalega öflug reiknivél.
 +
 +
Python leyfir manni að skrifa forrit á stuttan og læsilegan hátt. Forrit skrifuð í Python eru almennt mun styttri en sambærileg forrit í C, C++ eða Java, af ýmsum ástæðum:
 +
 +
* öflugri gagnagrindurnar leyfa þér að lýsa flóknum aðgerðum í stökum línum.
 +
* blokkir eru búnar til með inndrætti frekar en slaufusvigum.
 +
* ekki er nauðsynlegt að skilgreina breytur fyrirfram.
 +
 +
Python er útvíkkanlegt: ef þú kannt að forrita í C geturðu bætt við nýjum föllum og einingum í túlkinn, ýmist til að framkvæma mikilvægar aðgerðir á sem mestum hraða eða til að tengja Python forrit við aðgerasöfn sem eru kannski bara til í binary formi (svo sem lokaður/ófrjáls hugbúnaður). Svo er hægt að taka túlkinn og byggja hann inn í önnur forrit sem eru skrifuð í C og notað hann til að stýra þeim.
 +
 +
Málið er nefnt eftir BBC þættinum “Monty Python’s Flying Circus” og hefur lítið að gera með eiturslöngur. Að gera tilvísanir í Monty Python í kóða eða skjölun er ekki bara leyfilegt, heldur nauðsynlegt.
 +
 +
=== Python túlkurinn ===
 +
 +
=== Python sem reiknivél ===
 +
 +
=== Fyrstu skrefin að forritun ===
 +
 +
===  ===
  
 
== Kennslubækur ==
 
== Kennslubækur ==

Revision as of 13:42, 12 June 2009

Python er auðvelt, vinsælt og öflugt forritunarmál sem var búið til af Guido van Rossum og fleirum. Það eru til þó nokkur afbrigði af málinu, en hér verður eingöngu talað um staðlað Python, sem er kallað CPython.

Um sögu og eiginleika Python má lesa á Wikipedia greininni um Python.

Um Python

Ef þú vinnur mikið með tölvur muntu að lokum finna að það eru ýmis verk sem þú gerir aftur og aftur sem væri gott að gera sjálfvirk. Til dæmis gætirðu viljað leita að texta og skipta honum út fyrir annan texta í mjög stóru safni skráa, eða endurnefna og flokka myndir eftir flóknum reglum. Kannski langar þig til að búa til lítinn gagnagrunn eða grafískt viðmót fyrir eitthvað, eða jafnvel tölvuleik.

Ef þú ert forritari þá gætirðu verið vanur því að vinna með nokkur C/C++/Java aðgerðasöfn en finnst skrifa/þýða/prófa/endurþýða ferlið of hægvirkt. Kannski ertu að skrifa prófanasafn fyrir eitthvað aðgerðasafn og þér finnst það seinlegt og leiðinlegt að búa til prófin. Eða þú hefur skrifað forrit sem gæti notað skriftumál, en þú villt ekki hanna og þróa sérstakt mál fyrir forritið þitt.

Þá er Python mál fyrir þig.

Þú gætir búið til Unix skeljarskriftu eða Windows bat-skrár fyrir sum þessara verkefna, en skeljaskriftur henta vel í að færa skrár og breyta texta, en ekki í að búa til grafísk viðmót eða tölvuleiki. Þú gætir skrifað C/C++/Java forrit, en það myndi taka heila eilífð að fá fyrsta uppkastið að forritinu. Python er auðveldara í notkun, fáanlegt á Windows, MacOS X og Unix stýrikerfum, og hjálpar þér að leysa vandamálið hratt og örugglega.

Python er einfallt í notkun, en það er líka alvöru forritunarmál, með strúktúr og stuðning fyrir stór og flókin forrit. Það býður upp á betri villumeðhöndlun en C, og þar sem Python er á mjög háu stigi hefur það margar innbyggðar gagnagrindur svo sem lista og orðabækur sem mörg lægri forritunarmál hafa ekki. Vegna þess að gagnatýpurnar og gagnagrindurnar er mjög almenns eðlis er hægt að nota þær í mun stærra samhengi en mörg önnur forritunarmál bjóða upp á með auðveldum hætti.

Python leyfir þér að brjóta forritið þitt upp í einingar sem má endurnota í öðrum Python forritum. Það er stórt safn af einingum sem fylgir með sem þú getur notað sem grunn fyrir forritin þín - eða sem dæmi til að læra að forrita í Python. Þessar einingar bjóða upp á skráarvinnslu, stýrikerfisköll, sockets, grafísk viðmót og fleira.

Uppbygging málsins

Python er túlkað mál, sem getur sparað þér mikinn tíma við þróun þar sem engin vistþýðing (compilation) eða tenging (linking) er nauðsynleg. Túlkinn má nota á gagnvirkan hátt, sem gerir það auðvelt að prófa sig áfram með málið, skrifa forrit sem "hendast eftir notkun", og prófa föll við "bottom-up" þróun. Auk þess er gagnvirki túlkurinn svakalega öflug reiknivél.

Python leyfir manni að skrifa forrit á stuttan og læsilegan hátt. Forrit skrifuð í Python eru almennt mun styttri en sambærileg forrit í C, C++ eða Java, af ýmsum ástæðum:

  • öflugri gagnagrindurnar leyfa þér að lýsa flóknum aðgerðum í stökum línum.
  • blokkir eru búnar til með inndrætti frekar en slaufusvigum.
  • ekki er nauðsynlegt að skilgreina breytur fyrirfram.

Python er útvíkkanlegt: ef þú kannt að forrita í C geturðu bætt við nýjum föllum og einingum í túlkinn, ýmist til að framkvæma mikilvægar aðgerðir á sem mestum hraða eða til að tengja Python forrit við aðgerasöfn sem eru kannski bara til í binary formi (svo sem lokaður/ófrjáls hugbúnaður). Svo er hægt að taka túlkinn og byggja hann inn í önnur forrit sem eru skrifuð í C og notað hann til að stýra þeim.

Málið er nefnt eftir BBC þættinum “Monty Python’s Flying Circus” og hefur lítið að gera með eiturslöngur. Að gera tilvísanir í Monty Python í kóða eða skjölun er ekki bara leyfilegt, heldur nauðsynlegt.

Python túlkurinn

Python sem reiknivél

Fyrstu skrefin að forritun

Kennslubækur

Pakkasafnið

Einn helsti kostur Python er hvað það hefur víðtækt og aðgengilegt pakkasafn. pakkar (packages) eru aðgerðasöfn sem útfæra marga kraftmikla eiginleika svo að þú þurfir þess ekki. Það væri fáranlegt ef hver og einn einasti forritari sem vildi birta mynd í forritinu sínu þyrfti að búa til sitt eigið aðgerðasafn til að afþjappa JPEG myndum.

Nytsamlegir Python pakkar

  • pySerial - Stjórna Serial (RS-232) samskiptum úr Python.
  • Tkinter - TK (borið fram "tick") grafísk notandaviðmót
  • Numpy - Numerical Python ; töluleg forritun með Python
  • Matplotlib - gröf og myndrit
  • PIL - Python Imaging Library - myndvinnsla með Python
  • PyOpenGL - OpenGL 3D grafík
  • Pygame - Auðveld og aðgengileg leikjaforritun