3 minutters læsning

Indledning

For at blive god til at programmere i et sprog, er der lige nogle grundlæggende ting man skal vide, så man kan skrive et program computeren kan forstå. Du vil opdage at alle programmeringssprog har de samme ting, men at de bare skal skrives på forskellig måde.

Variable

En variabel er et sted hvor programmet kan gemme noget information til senere.

Opret en variabel

Her er eksempler på variable:

min_int = 0            # heltal
MinFloat = 0.0         # decimaltal
min_list = [1,2,3]     # liste (array/list)
_min_dict = { 'a':'b',
                'x':2 }  # ordbog (dictionary)
min_bool = True        # sand/falsk (Boolean)

print(min_int, MinFloat, min_list, _min_dict)

Og her en variabel der kombinerer det hele:

_minKomplekse_123_Var = ['a', 1, 0.0, [1,2,3], {'x':'vuf'}]

Ændring af en variabel

Vi skal også kunne ændre en variabel. Her er nogle eksempler:

min_int = 3
min_list[0] = 4        # Bliver til [4,2,3]
min_list.append(5)     # bliver til [4,2,3,5]
_min_dict['a'] = 'c'   # bliver til { 'a':'c', 'x':2 }
_min_dict['f'] = 'ny'  # bliver til { 'a':'c', 'x':2, 'f':'ny' }

print(min_int, MinFloat, min_list, _min_dict)

Der er rigtig mange ekstra funktioner der virker på lister og dictionaries, da de bruges rigtig ofte.

Kontrol

Alle programmer har brug for at kontrollere hvad der sker. Det sker med ‘spørgsmål’ og ‘løkker’. I Python hedder de mest brugte if, for, while.

if

if bruges til at teste værdier og så forgrene programmet. Eksempel:

if min_int == 3:
    print(min_int)
elif min_list[1] ==8:
    print("Hov?")
else:
    print("Det var mærkeligt?!")

for

En for-løkke kører de samme linjer kode et forudbestemt antal gange. I eksemplerne bruges range(<fra>, <til+1>) til at lave en talsekvens, og items() på en dictionary som giver to værdier tilbage: nøgle og værdi.

for x in range(0,10):
    print(f"{x} ")

# printer: 0 1 2 3 4 5 6 7 8 9 (på hver sin linje)

d = { 'a':1, 'b':2, 'c':3}
for k,v in d.items():
    # bemærk end="" -> der skiftes ikke linje efter hver udskrift her.
    print("%s -- %i : " % (k, v), end="")

# printer: a -- 1 : b -- 2 : c -- 3 :

while

En while-løkke fortsætter indtil en test bliver falsk. Hvis noget skal fortsætte uendeligt, bruger vi typisk en while True: løkke.

i = 0
r = 32
while i < r:
    i += 1
    r -= 2
    print(i, end=" - ")

# printer: 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 -

Funktioner

Funktioner starter altid med def. En funktion er en indpakning af noget programkode. Den behøver ikke at returnere en værdi med return.

def funktion(a, b="hej"):
    a = a + 10
    return f"{b}:{a}"

# printer: hej:10
print(funktion(0))
y = funktion(10, "bananer")
# printer: bananer:20
print(y)

Klasser

En Python-klasse starter altid med class. Se også her

# En klasse _A_
class A():
    def __init__(self, x):
        self.x = x

    def out(self):
        print(self.x)

class B(A):
    y = "y"
    
    def update(self, val):
        self.x = val
        
    def add(self, val=10):
        return self.x + val

a = A(4)
b = B(10)

a.out() # 4
b.update(5) # 5
b.out() # 5
b.add() # 20 (men b.x er stadig 5!)
b.out() # 5
b.update(b.add(100)) # b.x = 105
b.out() # 105

Prøv det