Lektion 5 - Dynamiska språk (6/12)

Bullar + Lan = sant!

Denna lektion pratade vi om dynamiska språk och vad de innebär för oss programmerare. Eftersom Tullinge gymnasium även hade lan samtidigt som lektionen hölls var några av oss lite trötta, men det gick bra ändå!

Dynamiska språk är programmeringsspråk där programmeraren inte behöver bry sig så mycket om datorn, många saker hanteras automatiskt. Detta gör att man kan koncentrera sig på den uppgift man ska lösa snarare än hur man löser den i det specifika språk man just nu programmerar i. Du kan läsa jättemycket bra information om dynamiska språk här.

Efter att vi pratat lite om dynamiska språk gick vi vidare med att programmera i det dynamiska språket Python. Python är ett ganska lättförstått språk. Det första vi ska lära oss är att de två första raderna i våra program måste se ut såhär:

#!/usr/bin/python
# -*- coding: utf-8 -*-
Dessa två rader berättar dels hur datorn ska köra python programmet och med vilken teckenkodning. Labbservern vi använder är inställd på en teckenkodning som heter UTF-8.

Det enklaste kommandot heter print. print skriver ut på skärmen. Om du skriver:

print "hej"
så skriver programmet ut hej. Märk väl att det finns dubbelfnuttar kring ordet hej. Det betyder att "hej" är en sträng. Skulle du glömma dubbelfnuttarna så skulle python börja leta efter en variabel som du kallat för hej.

Variabler gör du såhär:

enVariabel = 5
enAnnanVariabel = "Hej svej"
Här ser du två st variabler. En innehåller talet 5, den andra innehåller strängen "Hej svej". Svårare än så är det inte.

Funktioner gör du med kommandot def, såhär:

def minFunktion():
  print "hej"
Här kommer vi in på en jätteviktig sak i Python, mellanslag spelar roll! Du måste ha samma antal mellanslag innan saker som hänger ihop, alltså alla kommandon som hör till funktionen minFunktion måste ha minst två mellanslag före sig. Mellanslagen innan brukar man kalla för indentering. Gör du såhär:
def minFunktion():
  print "hej"
print "svej"
så är det något helt annat än om du skulle göra såhär:
def minFunktion():
  print "hej"
  print "svej"
I det andra fallet så gör funktionen två saker, den skriver först ut "hej" och sedan "svej". I det första fallet så gör funktionen bara en sak, sen skriver programmet ut "svej.". En viktigt sak att tänka på som man brukar glömma är att ha ett kolon efter varje funktionshuvud, och som du kommer märka nedan, även efter varje "if" och "for" m.m.

När du väl gjort en funktion, denna t.ex.:

def minFinaFunktion():
  print "hej"
  print "svej"
Då kan du kalla på funktionen senare i programmet såhär:
minFinaFunktion()
Om du vill att funktionen ska ta argument så kan det se ut såhär:
def minFinaFunktion(text,tal):
  print text
  print tal+3
sen kallar du på funktionen såhär:
minFinaFunktion("Här är lite text",10)
Denna funktion kommer då skriva ut texten och även skriva ut vad 10+3 är.

Tester gör du såhär:

def minFinaFunktion(tal):
  if tal == 5:
    print "Du skrev rätt tal!"
  else:
    print "fel tal!"
Om du nu kallar på funktionen:
minFinaFunktion(3)
så får du:
fel tal!
Loopar kan du göra såhär:
def minFinaFunktion(text):
  for bokstav in text:
    print bokstav
Som du ser ovan så fattar python att om du ger for en sträng så vill du nog loopa över bokstäverna. På samma sätt kan du loopa över varje rad på en fil och sedan loopa över varje bokstav på raden:
def minFinaFunktion(fil):
  for rad in fil:
    for bokstav in rad:
      print bokstav
För att använda funktionen ovan måste du också kunna öppna filer för läsning, det gör du såhär:
minFil = open("en_text_fil.txt","r")
Sen kan du använda din fina funktion såhär:
minFinaFunktion(minFil)
Pwei, nu har vi lärt oss lite python!

Presentationen vi hade kan ni se här.



_allmänt_ _nyheter_ _aktiviteter_ _kontakt_