Python3 udvikling – Det grundlæggende

I denne artikel vil jeg gennemgå det vigtigste og mest basale omkring python3.

Du kan også læse en introduktion her og læse om GUI programmering med python. Jeg vil derfor ikke komme så meget ind på hvad python er i denne artikel.

Opbygning af koden

I mange sprog afsluttes en kodelinje af ; men i python anvendes det ikke. Her slutter kodelinjen ved linjeskift. Vil du lave flere linjer, skal du forlænge linjen med \:

a = 1 + 2 + 3 + \ 
4 + 5 + 6 + \ 
7 + 8 + 9

Du kan også bare sætte paranteser omkring og her virker både (), [] og {}.

Du kan også lave flere sætninger i en linje, ved at sætte ; imellem:

a = 1; b = 2; c = 3

Kodeblokke i python adskilles ikke af parenteser som i andre sprog. I stedet adskilles de af indryk (4 mellemrum). Hvis man ikke indrykker korrekt i python får man en IndentationError.

Kommentarer i python laves ved at starte kommentaren med # på hver linje.

Python er et case-sensitivt sprog, så der er forskel på at skrive kode og Kode.

Variabler og datatyper

Det er let at oprette en variabel i python. Du skriver bare variablens navn, lighedstegn og så variablens værdi. Her er et eksempel:

number = 10 
number = 1.1

Her laves en variabel ved navn number, der tildeles heltallet 10. Efterfølgende tildeles den decimaltallet 1.1. Bemærk det er muligt i python at skifte datatype for en variabel. Python finder også helt selv ud af datatypen, det behøver du ikke definere.

En anden elegant ting i python er at du i én linje kan tildele flere variabler samme værdi:

x = y = z = "tekst"

Du kan også tildele forskellige værdier til forskellige variabler i samme linje:

a, b, c = 5, 3.2, "Hello"

I princippet skrives variabler med småt og konstanter med store bogstaver i python, men der er ingen praktisk forskel. Man kan nemlig sagtens tildele en ny værditil en konstant.

PI = 3.14

Når du skal navngive variabler konstanter må det ikke begynde med et tal, men ellers må du kombinere store og små bogstaver, tal og underscore (_).

Datatyper

Som nævnt skal du ikke helt spekulere på datatyper i python, men der er dog følgende eksempler:

  • Heltal kaldes integer
  • Decimaltal kaldes float og .anvendes som komma (engelsk komma). Der kan gemmes op til 15 decimaler
  • Komplekse tal skrives med j som den imaginære enhed, fx 2+3j
  • Teksstrenge skrives med situationstegn, enten ‘ eller “
  • Booleans værdier skrives som True eller False. True er lig med 1 og False er lig med 0.
  • None i python er det samme null værdi

Hvis du vil vide hvilken datatype en variabel er, bruger du koden type:

a = 5 print(a, "er typen", type(a))

Du kan konvertere datatyper med disse funktioner:

a = int(10.6) 
b = float(5)
c = str(5)

Python laver selv implicitte konverteringer, som fx. når du forsøger at lægge en int sammen med en float, hvilket vil give en float:

num_int = 123 
num_flo = 1.23 
num_new = num_int + num_flo

Du kan ikke lægge en int sammen med en streng. Her skal du eksplicit konvertere den ene først.

Operatorer

I python anvendes følgende operatorer:

  • = anvendes til assignment
  • == anvendes som lighedstegn
  • +, -, * og / til plus, minus, gange og division
  • ** til potenser
  • // og % til hhv division til heltal og modulus
  • >, <, >=, <=, != og == er operatorer til sammenligning
  • and, or og not som logiske operatorer

Konsoloutput

Du skriver en besked som konsoloutput med koden print. Her laves først en tekststreng som variabel besked og denne udskrives så til skærmen.

besked = "Hello World"
print(besked)

Konsolinput

Du kan også bede om konsolinput ved følgende:

num = input('Skriv dit navn: ')
print(num)

Importer moduler

Du kan let importere moduler fra en anden pythonfil og henvise til dem. Her opretter vi en fil ved navn constant.py:

PI = 3.14 
GRAVITY = 9.8

Så importer vi den i main.py og henviser til dem:

import constant
print(constant.PI)
print(constant.GRAVITY)

Du kan på samme måde importere fra indbyggede moduler:

import math
print(math.pi)

Eller du kan importere enkelte funktioner i et modul:

from math import pi
print(pi)

Du kan også importere alle funktioner fra et modul. Bemærk du her risikerer at få dobbelte definitioner for et navn.

from math import * 
    print("The value of pi is", pi)

Man kan også omdøbe et modul du importerer:

import math as m 
    print("The value of pi is", m.pi)

Arrays

Der er 4 slags arrays i python kaldet list, tuple, dict og set:

fruits = ["apple", "mango", "orange"] #list 
numbers = (1, 2, 3) #tuple 
alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #dictionary 
vowels = {'a', 'e', 'i' , 'o', 'u'} #set 

Index i et array starter med 0 og du kan referere til den enkelte værdi med fruits[2].

Manipulation af tekststrenge

Du kan vise den 5. karakter af en teksstreng med følgende kode, der vil guve bogstavet o:

s = 'Hello world!' 
print("s[4] = ", s[4])

Betingelser

Betingelser i python opstilles således:

if x == 2: 
   print("ja") 
else: 
   print("nej")

Løkker

Her er et eksempel på en løkke i python:

numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11] 
sum = 0 

for val in numbers: 	
    sum = sum+val 

print("The sum is", sum)

Du kan også have en else med i sætningen:

digits = [0, 1, 5] 

for i in digits: 
    print(i) 
else: 
    print("No items left.")

Du kan også bruge en while loop i python:

counter = 0 
while counter < 3: 
    print("Inside loop") 
    counter = counter + 1 
else: 
    print("Inside else")

Funktioner

Funktioner defineres og kaldes på følgende måde:

def printHello(): 
    print("Hello")

PrintHello()

Funktioner starter altså med def og funktionsheaderen skal slutte med :. Du kan vælge at inkludere et return statement men det er frivilligt, men hvis det ikke er til stede skrives der None. Parametre sætter du ind i parenteser, evt. med , mellem dem. Her er et eksempel mere:

def greet(name): 
   print("Hej, " + name + ". Goddag!")

greet('Andreas')

Det var de vigtigste ting om Python. Der vil komme mange flere eksempler i andre artikler. Spørg gerne i kommentarerne hvis du er i tvivl om noget.

5 1 vote
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x