Getallen in Python (numerieke datatypes)

In dit artikel leggen we je alles uit over de verschillen soorten getallen in Python. Python 3 ondersteunt drie verschillende soorten getallen, beter bekend als numerieke datatypes. Dit zijn de volgende typen:

Integers

Een integer is een positief of negatief geheel getal van onbeperkte lengte. Let op dat deze getallen dus geen decimalen bevatten.

a = 100
b = 9000
c = 71 

print(type(a))
print(type(b))
print(type(c))

Floating points numbers

Floating point numbers, ook wel floats genoemd, zijn decimale getallen. Ook floats kunnen zowel positief als negatief en van onbeperkte lengte zijn. Een float kan ook een wetenschappelijk getal zijn met een “e” er in om de tiende macht aan te geven.

x = 1.0032
a = -113.9e10
b = 77E5
c = 40e1 

print(type(x))
print(type(a))
print(type(b))
print(type(c))

Voor floating point getallen is het in de praktijk vaak handig om de round() functie te gebruiken. De round() functie zorgt ervoor dat de ingevoerde getallen afgerond worden naar de door jouw gedefinieerde positie achter de komma. De functie vereist twee ingevulde parameters: round(getal, aantal decimalen). De standaard waarde voor een lege bijgevoegde waarde is een compleet afgerond getal. Dit houdt in dat wanneer de tweede parameter leeg blijft dan gaat de functie er van uit dat er afgerond dient te worden op hele getallen.

# voorbeeld  round() functie
a = 3.1982
print(a)
print(type(a))

b = round(a)
print(b)
print(type(b))

c = round(a, 3)
print(c)
print(type(c))

Complex numbers

Complexe getallen zijn een uitbreiding op de reële getallen (verzameling rationale en de irrationale getallen) en vormen een vast onderdeel van de wiskunde binnen de technische disciplines. De imaginaire eenheid in deze getallen wordt in de standaard wiskunde vaak aangeduid met de letter ‘i’. In Python gebruikt men hiervoor de letter ‘j’.

a = 4j
b = 8j + 4j
c = 4 + 5j

print(type(a))
print(type(b))
print(type(c))

Type van verschillende getallen in Python achterhalen

Om te kunnen achterhalen met welk numerieke datatype je te maken hebt kun je de type() method gebruiken. Je kunt hiermee het desbetreffende getal, of de variabele waar het getal aan is toegewezen, tussen de haakjes plaatsen om het datatype te achterhalen.

print(type(200))
print(type(30.9))
print(type(1j))

a = 100
b = 200.5
c = 2j

print(type(a))
print(type(b))
print(type(c))

Bij het combineren van verschillende datatypes kan de output slechts één datatype kan hebben. Zie in onderstaande tabel welke combinaties in numerieke datatypes tot wat type ldata eiden in de output.

CombinatieUitkomst
Integer + FloatFloat
Integer + ComplexComplex
Complex + FloatComplex
Integer + Float + ComplexComplex

Getallen in python omzetten: Numerieke datatypes converteren

Door gebruik te maken van zogeheten ‘methods’ kun je een datatype omzetten naar een ander gewenst datatype. Dit is zeker handig wanneer de input of output van je script een bepaald type vereist. Voor het converteren van de types kun je de int() method gebruiken voor het converteren naar integers, de float() method voor decimale getallen en complex() voor complexe getallen.

a = 100
b = "100"
q = int(b)
x = float(a)
y = complex(a)

print(type(a))
print(type(b))
print(type(q))
print(type(x))
print(type(y))
print(type(float(a)))
print(type(complex(a)))

Met de isinstance() functie kun je controleren of de waarde die aan een variabele is toegekend overeen komt met het door jou ingevulde numerieke datatype. Vervolgens keert de functie een True of False terug. Zie hiervoor het onderstaande voorbeeld:

a = 5 + 3j
print(a + 3)
print(isinstance(a, complex))

Getallen afronden? Bekijk dan dit artikel