logo
UR?
XML
DOM
SAX
Python
CGI
WXT
Velkommen > Moduler >Python
../../common/gfx/prev.gif ../../common/gfx/home.gif ../../common/gfx/next.gif

Python

Hva:
Om Python

Alle programmeringsspråk har sine sterke og svake sider. Hvilket språk vi velger bør være avhengig av hvilke oppgaver vi skal løse. Python er et "ubyråkratisk" språk som er godt egnet til tekstbehandling, lasting av nettressurser, enkle beregninger og til CGI-programmering. Python er et ganske komplett objektorientert språk og kan brukes, alene eller sammen med biblioteker skrevet i andre språk, til det meste. Bruken i dette materialet utnytter ikke alle disse mulighetene. På den annen side er det ikke noe vi gjør i dette materialet som vi ikke kan gjøre i andre språk som C, C++, Java, C#.

Python er valgt fordi det gjøre en del "typiske" ting enkelt og fordi språket er stabilt og kan kjøres på alle aktuelle plattformer. Vi kan f.eks. grovteste CGI-programmene våre på en Windows-klient og så flytte dem over på en Linux-server.

Dette er ikke noen lærebok i Python. Det er tilgjengelig en rekke bøker (se referenser nedenfor) og nettressurser for å lære Python.

Jeg arbeider med den siste versjonen jeg får tak i, på Windows XP og jeg bruker Pythons egen IDLE-editor. Det er altså de omgivelsene som dukker opp når jeg starter Python under Windows. Det er mange andre måter å organisere arbeid med Python på enn det jeg har som referanse her. CGI-skriptene jeg lager kjøres på en Linux-tjener.

.

PYTHONPATH

Vi må fortelle operativsystemet hvor vi akter å plassere våre Pythonmoduler. På samme måte som Java har sin classpath, har Python sin pythonpath. Måten å sette dem opp på er helt parallelle. Jeg åpner Settings/Controlpanel og starter System. Her velger jeg Advanced og klikker på knappen: Environment Variables. Så leter jeg etter PYTHONPATH i lista med overskriften System variables. Hvis den finnes så ber jeg om å få editere (EDIT) den. Hvis den ikke finnes så lager jeg ny (NEW).

På min maskin ser det i øyeblikket slik ut:

pathwin

Jeg har alle mine Pythonmoduler samlet i en katalog: c:\articles\ml\pykode

Syntaksen i pathlista er slik at alle pather er adskilt med ; Husk at . representerer pather som er satt andre steder. Ta alltid med . - pathen, dersom du er i tvil.

.

Å editere en modul

Jeg pleier å la Python administrere editorvinduene mine. Det vil si at jeg går i menyen File og velger Open Module. Hvis PYTHONPATH er satt riktig, vil IDLE finne fram den riktige fila når jeg skriver inn navnet på en eksisterende modul, f.eks. bokxml. Jeg får da et nytt Pythonvindu med mange av de samme egenskapene som det første vinduet som åpner seg som IDLE. Det er selvsagt ikke noe i veien for å editere i en annen editor.

I alle fall kjører jeg testing fra IDLE, som vist nedenfor.

.

Testing av modulen

Starten på en arbeidssekvens der jeg arbeider med modulen boktoxml kan se slik ut, i IDLE-vinduet:

Python 2.2 (#28, Dec 21 2001, 12:21:22) [MSC 32 bit (Intel)] on win32
Type "copyright", "credits" or "license" for more information.
IDLE 0.8 -- press F1 for help
>>> import boktoxml
>>> def test():
	reload(boktoxml)
	bokxml.produce("c:\\articles\\ml\\python\\bokliste.txt")

>>> test()
>>> test()
>>> test()

Jeg lager meg en testprosedyre, test, for anledningen. Den automatiserer to ting: oppdatering av siste versjon av modulen jeg tester og et kall på den aktuelle funksjonen med den eller de parametrene jeg bruker som testgrunnlag. Den typiske arbeidssyklusen blir da å:

  • redigere i det vinduet jeg har kildekoden, boktoxml.py
  • kalle test() i IDLE-vinduet
  • studere resultatet hvor det måtte dukke opp, f.eks i en nettleser eller som feilmelding i IDLE-vinduet
  • redigere i det vinduet jeg har kildekoden, boktoxml.py
  • osv
Referanser og eksempler:

Pythonbøker

  • Beginning Python, From novice to Professional, Magnus Lie Hetland
    Apress, ISBN 1-59059-519-X
  • Python, The Complete Reference,Martin C Brown
    Mc Graw Hill, ISBN 0-07-212718-X
  • XML Processing with Python, Sean McGrath
    Prentice Hall, ISBN 0-13-021119-2
  • Learning to Program Using Python, Alan Gauld
    Addison Wesley ,ISBN 0-201-70938-4
  • Dive Into Python, Mark Pilgrim
    Apress, 2004,ISBN:1590593561
    også på nettet: diveintopython.org/
  • Foundations of Python Network Programming, John Goerzen
    Apress, 2006,ISBN:1590593715
Pythondokumentasjon
Python 2.3 Quick reference: rgruet.free.fr/PQR2.3.html

Produksjon, kontroll og vedlikehold:

B.Stenseth, mai 2006

Markup og web fra Høgskolen i Østfold: http://www.ia.hiof.no/~borres/ml/

../../common/gfx/prev.gif ../../common/gfx/home.gif ../../common/gfx/next.gif
skjema popup

Valid XHTML 1.0 Strict
popup card
Bygget med WXT