Python är ett portabelt, interpreterande och objektorienterat språk med alla de finesser och möjligheter som hör till de stora, moderna och välutvecklade programmeringsspråken.
Denna guide är förstås långt ifrån heltäckande. Avsikten är snarare att ge ett smakprov och så pass mycket information att det går att komma igång lite grand och leta mer information på egen hand.
Emacs är den rekommenderade editorn för Python på webbservern. Om man vill använda en grafisk utvecklingsmiljö så går det även att använda Eclipse som finns installerat, men det är nog klokare att köra detta lokalt istället. Eclipse är en generell utvecklingsmiljö som bland annat stöder Python (genom en installation av PyDev som redan är utförd). Lär dig använda Eclipse och du slipper byta utvecklingsmiljö när du växlar mellan olika programmeringsspråk. Om du vill köra Eclipse från webbservern så startar Eclipse genom att skriva /usr/local/eclipse/eclipse. Se till att ha X11-forwarding aktiverat i din klient och en X-server igång lokalt. Om du kör Linux eller motsvarande ska detta inte vara något problem, annars får du installera en X-server för ditt operativsystem.
Det finns ett antal konstruktioner som man förväntar sig av ett modernt högnivåprogrammeringsspråk; till exempel variabler, flödesstyrning, upprepning med loopar, funktioner, felhantering och kanske även möjligheter till objektorienterad programmering. Lite av detta kommer att gås igenom nedan.
I Python behöver man inte deklarera variabler innan de används. Inte heller behöver man ange vilken datatyp variabeln ska ha. Python gör intelligenta gissningar angående datatypen när du tilldelar variabeln ett värde. Man säger att Python är "dynamically typed" (i motsats till exempelvis Java som är "statically typed"). Statiskt eller dynamiskt i detta sammanhang kan vara en källa till en diskussion, vilket det också är. Om jag ska säga något kort och personligt om detta så vill jag påstå att ett dynamiskt typat språk är smidigt i de flesta fall eftersom det eliminerar ett bökigt moment men att det, speciellt i större projekt, kan vara praktiskt med ett statiskt typat språk som ser till att man deklarerar snyggt och prydligt och därmed inte råkar ut för larviga fel orsakade av ännu larvigare stavfel av variabelnamn.
Python är ett språk där indenteringen är viktig. Det är indenteringen som visar på hur olika satser hör samman i block. I exempelvis PHP används måsvingar, { och }, för att åstadkomma denna funktion men i Python används alltså enbart indragen, indenteringarna.
Vi hoppar raskt in i ett exempel med en simpel if-sats för att illustrera både indenteringens viktiga roll i Python samt även enkel villkorsstyrning:
if x < 50:Loopar går under flera benämningar, slingor är ett annat namn. Det handlar om att upprepa en process och även kunna bestämma när den ska upphöra. För att åstadkomma detta finns det som sig bör flera olika tillvägagångssätt. Nedan visas två exempel som jag tror illustrerar detta väl.
I varje språk med självaktning går det att definiera egna funktioner. Givetvis går det fint i Python. Exempel är bra.
def bigger(x, y):Vi ser att funktionen ovan heter "bigger" och tar två argument, x och y. Dessa variabler, x och y, antas vara numeriska värden som kan användas som operander vid "mindre än" (<) och "lika med"-operationer.
Vi tar ett exempel till för att visa på användandet av "return".
def isBigger(x, y):Om x är mindre än y kommer funktionen "isBigger" att returnera True (1) och lämna funktionen. I annat fall kommer funktionen att returnera False (0) och lämna funktionen.
För att skicka argument till ditt Pythonskript via kommandoraden på detta vis:
./mittPythonSkript argument1 argument2...så behöver du importera "sys" och veta hur du ska referera till dina argument. Ett exempel illusterar ofta väl.
import sysMånga gånger är det nödvändigt och/eller smidigt att läsa/skriva till sekundärminne. Det är inte onödigt komplicerat i Python:
Vi börjar med ett exempel där vi läser innehållet i en fil och skriver ut detsamma.
fil = open('infil.txt')Ett exempel som visar hur man skriver till en fil.
fil = open('utfil.txt', 'w')Som avslutning ska vi titta på ett komplett, men inte särskilt komplicerat, exempel.
Programmet nedan räknar ut en cirkels radie och passar på att introducera lite nya grejer.
#!/bin/env pythonI exemplet ovan ser vi en del nytt. På första raden ser vi hur vi refererar till Pythontolken genom /bin/env. Givetvis går det även att explicit peka på Pythontolken men det är bättre att låta env kolla upp den.
Vidare noterar vi att man kan importera enskilda funktioner från andra moduler genom import-kommandot.
Med hjälp av input kan vi ta in numeriska värden från användaren. För att ta in en sträng används istället raw_input.
I den sista raden konkateneras tre strängar ihop och skrivs ut. Den mellersta strängen typomvandlas från en float till en sträng för att det ska gå att konkatenera ihop dem.
Vi har i denna guide bara nosat på vad som kan göras med Python. Det finns mycket mer att upptäcka, till exempel felhantering, datastrukturer och hur Python underlättar det objektorienterade tänkandet. Eventuellt kommer denna guide att byggas ut i framtiden men i nuläget får du nöja dig detta. Det finns gott om mer utförliga guider på nätet:
