Python
Þessi kafli er ekki hugsaður sem kennsluefni fyrir byrjendur í forritun, enda er það efni í heilt námskeið, heldur er hann hugsaður sem kynning á þeim eiginleikum Python sem geta reynst hjálplegir í gagnaglímum. Efnistökin miðast við þá sem hafa lært einhverja forritun áður. Ef við höfum ekki forritað áður er líklega best að skoða eitthvert af þessum ókeypis Python námskeiðunum. Þessi kafli mun þó fara yfir forritunarmál almennt sem og uppsetningu Python og því getur verið gagnlegt að klára hann fyrst.
Hvað er forritunarmál?
Tölvur eru ótrúlega hraðvirkar og geta framkvæmt milljarða útreikninga á sekúndu. En þær eru líka í grunninn mjög „heimskar“ — þær gera nákvæmlega það sem þær eru beðnar um, hvorki meira né minna. Þær hafa ekkert innsæi og geta ekki giskað á hvað við áttum við ef við gerum mistök.
Til þess að stýra þessum tölvum þurfum við að gefa þeim nákvæmar skipanir. Örgjörvi tölvunnar skilur aftur á móti bara vélarkóða, þ.e. runur af 1 og 0 sem okkur reynist mjög erfitt að lesa og skrifa beint.
Til að brúa þetta bil notum við forritunarmál (e. programming languages). Forritunarmál gerir okkur kleift að skrifa skipanir á formi sem líkist náttúrulegu máli, sem sérstakt forrit þýðir svo yfir í bitarunurnar sem örgjörvinn skilur.
Þýdd vs. túlkuð mál
Forritunarmál skiptast í stórum dráttum í tvo flokka, þýdd og túlkuð mál.
Þýdd mál
Þýdd mál (e. compiled languages) eru forritunarmál þar sem frumkóðinn (e. source code) er þýddur, með forriti sem kallast þýðandi (e. compiler), yfir í viðfangskóða (e. object code). Viðfangskóðinn getur verið sérhæfður (e. native) þannig að hann keyri beint á ákveðnu stýrikerfi og vélbúnaði. Dæmi um mál sem hafa slíka þýðendur eru C, C++ og Go. Önnur mál hafa þýðendur sem skila frá sér viðfangskóða sem getur keyrt á hvaða vélbúnaði sem er, en keyrir þá í sérhæfðum forritum sem kallast sýndarvélar (e. virtual machine). Dæmi um mál sem eru þýdd á þann máta eru C# og Java.
Túlkuð mál
Þegar kemur að túlkuðum málum (e. interpreted languages) er enginn þýðandi sem býr til keyrsluskrá. Þess í stað er notast við forrit sem kallast túlkur (e. interpreter). Túlkurinn les frumkóðann línu fyrir línu, þýðir hann jafnharðan yfir í skipanir sem stýrikerfið keyrir strax. Til túlkaðra mála flokkast m.a. Python, JavaScript, Ruby og PHP.
Af hverju Python?
Fyrst ber að nefna að það er ekkert sérstakt við Python þegar kemur að netöryggi og gagnaglímum. Ef við kunnum, eða erum að læra, á annað forritunarmál þá er um að gera að leysa verkefni þessa og næstu kafla með því!
Ástæða þess að Python varð fyrir valinu í þessu kennsluefni er sú að málið er einfalt í framsetningu og auðskilið og mikið af forritasöfnum eru í boði sem hægt er að nota við lausnir á ýmsum tegundum verkefna.
Python var hannað í upphafi tíunda áratugarins af hollenskum tölvunarfræðingi sem heitir Guido van Rossum. Hans helsta markmið var að búa til mál sem væri eins auðlesið og einfalt í skrifum og mögulegt er. Í dag er Python orðið eitt vinsælasta forritunarmálið í heiminum til að kenna byrjendum.
Vissir þú?
Margir halda að Python forritunarmálið sé nefnt eftir samnefndri tegund kyrkislanga. Sannleikurinn er hins vegar sá að Guido van Rossum var mikill aðdáandi breska grínhópsins Monty Python's Flying Circus og ákvað að nefna málið í höfuðið á þeim. Þetta er ástæðan fyrir því að fjölmörg dæmi í opinberum skjölum Python vísa í gamanaþætti hópsins, til dæmis með breytunöfnum eins og spam og eggs í stað foo og bar.
Uppsetning Python
Áður en við getum byrjað að forrita þurfum við að tryggja að Python 3 túlkurinn sé uppsettur á tölvunni okkar.
Windows
- Farðu á opinberu vefsíðuna: python.org/downloads.
- Smelltu á gula hnappinn sem segir Download Python 3.x.y (þar sem x og y standa fyrir nýjustu útgáfuna).
- Ræstu uppsetningarskrána sem þú sóttir.
- Neðst í fyrsta glugganum sem opnast sérðu gátreit sem segir Add Python.exe to PATH (eða Add Python to variables). Við verðum að haka við þennan reit!
- Smelltu á Install Now og bíddu eftir að uppsetningunni ljúki.
macOS
- macOS kemur stundum með eldri útgáfu af Python, en við viljum nota Python 3.
- Besta leiðin til að setja upp Python og önnur þróunartól á macOS er að nota pakkastjórann Homebrew.
- Ef þú ert ekki með Homebrew skaltu opna Terminal og slá inn skipunina sem finna má á brew.sh.
- Þegar Homebrew er tilbúið skrifum við einfaldlega í Terminal:
brew install python
Linux
- Flest Linux stýrikerfi koma með Python 3 tilbúið.
- Við getum gengið úr skugga um það með því að opna skeljagluggann og skrifa:
python3 --version - Ef það er ekki uppsett, eða við viljum uppfæra það, keyrum við eftirfarandi skipanir í skelinni:
sudo apt update sudo apt install python3 python3-pip
Gagnvirka skelin: REPL
Nú þegar við höfum náð að keyra Python skulum við kynnast gagnvirku skelinni, en slíkar skeljar eru kallaðar REPL (e. Read-Eval-Print Loop). Heitið, REPL, lýsir þeim skrefum sem skelin fylgir.
- Read (Lesa): Hún bíður eftir að slegin sé inn lína af Python kóða.
- Eval(uate) (Túlka): Hún keyrir kóðann sem skrifaður var.
- Print (Prenta): Hún sýnir frálagið eða niðurstöðuna strax á skjánum.
- Loop (Endurtaka): Hún bíður aftur eftir næstu skipun.
Ræsum REPL
Opnaðu skeljagluggann þinn (Terminal á Linux/macOS, eða Command Prompt/PowerShell á Windows) og skrifaðu skipunina:
python3
python eða py í stað python3).
Ef allt gekk upp ættum við að sjá texta sem segir til um hvaða útgáfu af Python við erum að keyra, og svo þrjá gogga sem vísa til hægri.
Python 3.10.6 (main, May 29 2024, 11:10:47)
[GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Þessi þrjú tákn >>> láta okkur vita að Python sé tilbúið og bíði eftir skipunum.
Prófum REPL
Sláðu inn eftirfarandi stæðu og smelltu á Enter
>>> 5 + 10
Python túlkurinn les hana, reiknar gildið og prentar svarið strax á næstu línu
15
>>>
Við getum líka látið Python prenta texta. Prófaðu að slá inn
>>> print("Halló heimur!")
og túlkurinn mun þá svara
Halló heimur!
ATH
Þegar lesnar eru leiðbeiningar á netinu eða í bókum og dæmi byrja á >>>, þá þýðir það að slá eigi þann kóða inn í gagnvirku skelina, en ekki skrifa táknið >>> sjálft.
Hvernig hættir maður?
Þegar við viljum loka Python skelinni og fara aftur í venjulega skeljagluggann, þá gerum við það með því að:
- Skrifa skipunina
exit()og ýta á Enter. - Eða nota flýtilykilinn Ctrl+D (á Linux/macOS) eða Ctrl+Z og svo Enter í kjölfarið (á Windows).