Dit is eigenlijk een vraag betreffende Generics onder Python maar Google kon me niet voort helpen.
Ik heb een klasse Map. Deze klasse neemt in de constructor twee parameters aan, allebei moeten deze van het type Location (nog een klasse van mij) zijn. Een ander type mag niet geaccepteerd worden om fouten te voorkomen. Ik begrijp niet hoe ik ervoor kan zorgen dat enkel objecten van het type Location kunnen worden geaccepteerd.
Via Google kwam ik op de volgende mogelijkheid uit, maar deze werkt niet correct:
if startingPoint.__class__ != "location.Location":
raise Exception("The StartingPoint was not a valid Location-object")
Die Exception wordt wel geraised als ik gewoon een String meegeef, maar wordt OOK geraised als ik wel een correct Location-object meegeef.
Ik dacht dat het misschien lag aan het feit dat ik twee strings vergelijk met de operator "!=". Onder Java weet ik dat dit niet mag, maar op een site over Python stond dat het wel mocht.
Is er iemand die raad weet?