Komma igång med Python på IDA
Under första halvan av kursen kommer vi att arbeta med Python genom att skriva programkod i texteditorn Emacs och sedan köra koden direkt vid Python-prompten. Detta sätt att jobba återkommer sedan i många programmeringskurser genom både C- och D-programmen.
En annan utvecklingsmiljö du kommer jobba med medan du studerar på C- och D-programmen är Eclipse. Eclipse är en utvecklingsmiljö för mjukvara som kan användas för ett antal olika programmeringsspråk, men det används huvudsakligen för Java. Det är en av de vanligast använda utvecklingsmiljöerna i världen och finns för såväl Linux, Mac OS X, Solaris som Windows. Eclipse kommer introduceras senare i kursen som ett alternativ till Emacs.
Starta Python
Python finns tillgängligt på IDA:s Sun-stationer och du startar genom att skriva python3 vid prompten. Observera att du måste avsluta kommandot med siffran 3. Om du bara skriver python startas en tidigare version av Python som fungerar lite annorlunda. Om allt fungerar bör det nu se ut så här:
zaza11 <34> python3 Python 3.2.2 (default, Mar 7 2012, 13:44:00) [GCC 3.4.6] on sunos5 Type "help", "copyright", "credits" or "license" for more information. >>>
Istället för den vanliga prompten i skalet visas nu Python-prompten >>>. Den kommer finnas uppe tills du stänger av Python, vilket du gör genom att antingen skriva exit() eller quit() eller genom att hålla inne Ctrl och trycka på d.
Vårt första program
Nu är det dags för vårt första Python-program. Det kan vara en bra idé att samla dina program i en egen mapp. Skapa en mapp med valfritt namn och byt katalog till den mapp du just skapat. Öppna en ny fil i Emacs som heter hello.py. Skapa funktionen hello_world och få den att skriva ut strängen 'Hello world!' genom att skriva följande i Emacs-fönstret:
def hello_world(): print('Hello world!') hello_world()
Den sista raden är inte helt nödvändig, men det är ett enkelt sätt att se till att funktionen hello_world() körs automatiskt om filen hello.py anropas.
Köra Python-program
Nu finns det i princip tre olika sätt att köra vårt program. Det första sättet är att köra programmet från kommandoraden:
zaza11 <35> python3 hello.py Hello world!
Det andra sättet är att starta Python-interpretatorn och köra programmet från Python-prompten:
>>> import hello Hello world! >>> hello.hello_world() Hello world!
Den första utskriften härrör från när programmet importeras och funktionen hello_world anropas. Nu finns programmet tillgängligt och vi kan anropa det igen om vi vill, som görs på den andra raden ovan.
Det tredje sättet importerar modulens funktioner så att de blir tillgängliga direkt i prompten och det ser ut så här:
>>> from hello import * Hello world! >>> hello_world() Hello world!
Den stora skillnaden här är att vi slipper skriva modulnamnet hello innan när vi vill anropa hello_world igen.
Köra Python inifrån Emacs
Om man inte vill öppna Python-interpretatorn i terminalen går den att öppna direkt i Emacs. När du öppnar en fil med filändelsen .py ställs Emacs om till Python-läge. Detta gör bland annat att du får s.k. syntax highlighting (programkoden färgas för att bli mer lättläst) och tillgång till en meny med alternativ för Python. Python-menyn hittar du näst längst till vänster i menyraden. För att starta interpretatorn i Emacs klickar du antingen på Start Interpreter eller Switch to Interpreter i Python-menyn, eller genom kommandot Ctrl-c Ctrl-z, vilket är snabbkommandot för Switch to Interpreter. Här kan du nu importera modulen hello_world och köra programmet på samma sätt som vid Python-prompten i terminalen.
En fördel med att öppna Python i Emacs istället för i terminalen är dock att du slipper att skriva kommandona för att importera dina funktioner. Om du placerar markören i fönstret som innehåller hello_world.py och kör kommandot Ctrl-c Ctrl-c så evalueras hello_world.py och resultatet blir detsamma som att skriva from hello_world import *, d.v.s. du får tillgång till dina funktioner direkt vid prompten. Dessutom fungerar piltangenterna, backsteg, delete och alla andra knappar på det sätt du antagligen förväntar dig vid prompten i Emacs. Vidare kan du gå fram och tillbaka i historiken av dina inmatade kommandon genom att trycka Ctrl-uppåtpil och Ctrl-nedåtpil.
Att sätta rätt Python-version i Emacs
För att få Emacs på IDA att använda den version av Python som läses i kursen (version 3) måste man göra en smärre ändring i en inställningsfil. Så här gör man:
- Öppna ~/.emacs (filen .emacs i din hemkatalog). Om den inte finns, skapar Emacs den.
- Skriv in följande i filen:
(custom-set-variables '(python-python-command "python3"))
- Spara filen (med C-x C-s).
- Starta om Emacs.
Sidansvarig: Peter Dalenius
Senast uppdaterad: 2012-08-27
