Casting is het omzetten van een variabele van het ene type naar een ander type.
Impliciet (type coercion):
x = 5 # int
y = 2.5 # float
result = x + y # x wordt automatisch omgezet naar een float
print(result) # Output: 7.5
expliciet (type conversion):
x = "10"
y = int(x) # Zet string om naar een int
print(y + 5) # Output: 15
https://kuleuven-my.sharepoint.com/:p:/r/personal/tom_holvoet_kuleuven_be/_layouts/15/Doc.aspx?sourcedoc={D7827E26-2D6B-4130-8115-8C80AE06DB78}&file=BvP+2+-+Chapter+4+-+While.pptx&action=edit&mobileredirect=true (BvP 2 chapter 4, slide 12)
Een sentinel value is een speciale waarde die wordt gebruikt om een einde, grens of specifieke toestand in een programma aan te geven. Het wordt vaak gebruikt in lussen of logica om te detecteren wanneer een proces moet stoppen
# Sentinel value om de invoer te stoppen
sentinel = "STOP"
user_input = ""
while user_input != sentinel:
user_input = input("Geef een waarde (of type 'STOP' om te stoppen): ")
if user_input != sentinel:
print(f"Je hebt ingevoerd: {user_input}")
print("Programma gestopt.")
# Sentinel om het einde van de lijst te markeren
data = [1, 2, 3, -1] # -1 is hier de sentinel value
sentinel = -1
for value in data:
if value == sentinel:
break # let op dat je geen break-statements gebruikt tijdens het examen dit gaat tegen de stijlgids
print(value)
In C wordt de null-byte ('\\0'
) standaard gebruikt als een sentinel om het einde van een string aan te geven. Dit is hoe C weet waar de string stopt in het geheugen, omdat C-strings niet expliciet een lengte opslaan
<aside> 📖
Variables that only exist during the execution of a function
def cube_volume(length):
volume = length**3 # volume is een local variable
return volume
</aside>
Global variables mogen niet gebruikt worden volgens de stijlgids (enkel voor constanten). Functies kunnen globale waarden lezen maar niet wijzigen zonder het global
-keyword te gebruiken.
# gebruik van globale variabelen is niet toegestaan op het examen
def test():
global my_var
my_var = 20
my_var = 15
print(my_var) # outputs 15
test()
print(my_var) # outputs 20
def cube_volume(side_length = 1):
volume = side_length ** 3
return volume
print(cube_volume(3)) # outputs 27
print(cube_volume()) # outputs 1