Terug naar index

Python cheatsheet


# In Python begint commentaar met een hekje (#)
# Alles waar een hekje voorstaat wordt door Python overgeslagen

print "Hallo, wereld!" # Ook als het niet aan het begin van een zin staat

# De gouden tip: tik 'python' (zonder bestandsnaam) en je komt in de REPL
# Waar je dit soort dingen allemaal zelf kan uitproberen

# Een variabele moet je declareren met elke naam die je wilt
getal = 42 # Een integer is een heel getal zonder punt
breuk = 4.2 # Een float is een getal met een punt
leuk = True # Een boolean is waar
niet_leuk = False # Of niet waar
niks = None # En je hebt ook nog de 'niks' waarde

# Een variabele is.. variabel, ergo: je kan het aanpassen
getal = getal * 2 # 'getal' is nu dus 84
breuk = getal / breuk # Een integer kan je delen door een float
getal = getal + 1 # Je kan optellen
getal = getal - 1 # Aftrekken
getal = getal * getal # Veremnigvuldigen
getal = getal / getal # En delen

# Een vergelijking is altijd True of False
getal = 42
check = getal == 42 # check is nu dus True
check = getal == 84 # check is nu dus False
check = getal != 84 # check is nu dus..True!

# Je kan ook checken of iets groter of kleiner is
check = getal > 20 # True, want 42 is groter dan 20
check = getal < 20 # False, want 42 is niet kleiner dan 20

# Je kan dingen combineren met and en or, let op de haakjes!
check = (getal > 20) or (getal < 20) # True, een van beide is waar
check = (getal > 20) and (getal < 20) # False, moeten beide waar zijn

# Vergelijkingen staan aan de basis van if, elif en else
if getal > 20: # Altijd een : na een if statement!
    print "Het getal is groter dan 20" # En statements in een if-blok altijd indenten!
else: # Weer een :
    print "Het getal is niet groter dan 20" # En een indent

# Eigenlijk is:
if getal > 20:
    print "Het getal is groter dan 20"

# Precies hetzelfde als
if (getal > 20) == True:
    print "Het getal is groter dan 20!"

# Met 'elif' (else if) kun je ook andere condities checken
if getal > 20:
    print "Het getal is groter dan 20"
elif getal < 10:
    print "Het getal is groter dan 20"
else:
    print "Het getal zit tussen 10 en 20"

# Dan hebben we nog strings
zin = "Hallo, wereld!" # Altijd tussen dubbele quotes
zin = 'Hallo, "Wereld"!' # Of enkele, als je bijvoorbeeld dubbele quotes wilt gebruiken

# Strings kun je, net als getallen, optellen. Dat noem je 'concatineren'
zin1 = "Hallo, "
zin2 = "Wereld!"
zin = zin1 + zin2

# Maar makkelijker is het om gebruik te maken van 'string interpolation'
zin = "Hallo, %s!" % "wereld" # De procent vervangt de '%s' door de string "wereld"

# Als je meer dan één string wilt vervangen moeten de strings tussen haakjes
zin = "%s, %s!" % ("Hallo, ", "Wereld")

# Uiteraard kunnen die strings ook weer variabelen zijn
ding = "wereld"
zin = "Hallo, %s!" % ding

# Als je iets van de gebruiker wilt vragen kun je raw_input() gebruiken. Je
# krijgt dan altijd een string terug
naam = raw_input("Wat is je naam?")
print "Welkom, %s!" % naam # 'Welkom, !'

# Variabelen kun je naar elkaar converteren met int(), float(), bool() en str()
# Dit is heel nuttig als je raw_input() gebruikt
age = raw_input("Wat is je leeftijd?")
age = int(age) # Converteer naar een integer
print "In dertig jaar ben jij %s jaar oud" % (age + 30)

# Strings kun je 'slicen' als je één of meerdere karakters wilt
print zin[0] # 'H', tellen begint bij 0
print zin[-1] # '!', het laatste karakter is dus -1, niet -0!
print zin[1:5] # Print vanaf karakter 1 tot (niet tot en met!) 5, dus "allo"
print zin[:5] # Print vanaf het begin tot karakter 5, dus "Hallo"
print zin[5:] # Print vanaf karakter 5 tot het einde van de string, dus ", wereld"

# Om te checken of een string in een andere string zit gebruik je de 'in' operator
zin = "Hallo, wereld!"
print "Hallo" in zin # True, "Hallo" zit in de zin
print "Doei" in zin # False, zit er niet in

# En strings hebben een hoop methodes om de string te manipuleren
zin.upper() # Converteert naar HOOFDLETTERS
zin.lower() # Converteert naar onderkast
zin.strip() # Verwijder alle spaties aan het begin en einde van de zin
zin.split(" ") # Opsplitsen naar een list op basis van een andere string

# Strings werken net zoals andere waardes in vergelijkingen
naam = "Barrie"
if naam == "Barrie":
    print "De naam is Barrie"
else:
    print "De naam is niet Barrie, maar %s" % naam

# Als je meerdere variabelen bij elkaar wilt stoppen gebruik je een lijst
names = ["Barrie", "Tinus", "Hans"]

# Die kun je ook weer 'slicen'
print names[0] # Barrie
print "%s en %s" % (names[0], names[2]) # "Barrie en Hans"

# Je kan alle soorten waardes in een lijst opnemen
dingen = ["Tinus", 1, True, 5.2]

# En hier werkt de 'in' operator ook
print "Tinus" in names # True
print "Nellie" in names # False
print "tinus" in names # 'in' is case-sensitive, dus dit is False

# De 'in' operator gebruik je ook om door een lijstje heen te loopen, dat doe
# je met het 'for' commando. Je definieert ook een variabele die je gebruikt
# om de variabele tijdelijk op te slaan
for item in names: # Let op, weer een dubbele punt!
    print "En hier is %s" % item # En een indent!

# Bovenstaande for-loop is identiek aan
print "En hier is %s" % names[0]
print "En hier is %s" % names[1]
print "En hier is %s" % names[2]

# Met het range() commando kun je tellen door een lijst. Dit stukje code
# Print 'Dit is nummer 0' tot en met 'Dit is nummer 9'
for x in range(10):
    print "Dit is nummer %s" % x

# Ook een list heeft methodes, zoals 'append', waarmee je een item toevoegt
# aan een bestaande lijst
names = ["Tinus"]
names.append("Barrie")
print len(names) # 'len' geeft de lengte van een lijst. Dit is dus nu 2

# Een korte reminder: je kan in methodes, zoals 'append' ook weer variabelen
# stoppen.
names = [] # Een lege lijst
name = "Barrie"
names.append(name)

# Naast de list heb je ook de dict. Daar ga je altijd uit van key-value pairs
item = { # Let op de accolades (curly braces).
    "naam" : "Barrie", # Let op de komma. Indenten hoeft niet, mag wel.
    "soort" : "aap" # Geen komma, want het is de laatste
}

print "naam:" + item["naam"] # "Barrie"
print "soort:" + item["soort"] # "aap"

# Als je door keys en values wil loopen moet je gebruik maken van de
# iteritems() methode.
# De code hieronder doet precies hetzelfde als de twee print regels boven
for key, val in item.iteritems():
    print "%s:%s" % (key, val)

# Je kan lists en dicts combineren
dieren = [ # Blokhaken, van de list
    { # Accolades van de dict
        "naam" : "Barrie",
        "soort" : "aap"
    }, # En dus weer een komma
    {
        "naam" : "Tinus",
        "soort" : "bever"
    }  # En hier niet, want laatste item van de list
]

# En zo loop je daar doorheen met twee for-loops, een zogenaamde geneste for-loop
for item in dieren: # Hier geen iteritems(), want het is een lijst
    for key, val in item.iteritems(): # Maar hier wel, want het is een dict!
        print "%s:%s" % (key, val)

# Als je ook wilt tellen bij welk item je bent kun je gebruik maken van de
# enumerate functie
for index, item in enumerate(dieren): # 'index' en 'item' mogen elke naam hebben
    print "%s:%s" % (index, item["naam"]) # Hier gebruiken we de waarde direct

# Je kan door veel meer dingen 'itereren', zoals bijvoorbeeld bestanden
f = open("bestandsnaam.txt") # met 'open' kun je een bestand openen in read-only modus
for line in f:
    print line # 'line' is dus nu weer een string

# Om je code beter te structeren kun je gebruik maken van functies. Een functie
# definieer je altijd met 'def' een naam en dan twee haakjes
def hoi(): # Weer een dubbele punt
    print "Hallo, wereld!" # Alle code in een functie is altijd geindent

# Je kan dan vervolgens de functie aanroepen met de naam die je hebt gegeven
# en de twee haakjes
hoi() # "Hallo, wereld!"

# Je kan er alles mee doen wat je wilt
for x in range(3):
    hoi() # Drie keer "Hallo, wereld!"

# Een functie kan ook een argument krijgen. Hiermee kun je een stukje code
# wat je vaak gebruikt hergebruiken en configureerbaar maken
def hoi(wat):
    if wat == "Barrie":
        print "Hoi Barrie" # Nog een keer indenten!
    else:
        print "Hallo, %s!" % wat

hoi("wereld")    # 'Hallo, wereld!'
hoi("buurvrouw") # 'Hallo, buurvrouw!'
hoi("Barrie")    # 'Hoi Barrie'

# Je kan een functie zoveel argumenten geven als je wilt
def hoi(hoe, wat):
    print "%s, %s!" % (hoe, wat)

hoi("Hallo", "wereld")