Asserting object class
Michael Hudson
mwh21 at cam.ac.uk
Thu Jun 10 06:10:19 EDT 1999
Adi <adi at i-data.com> writes:
> In a method, I'd like to assert that a parameter is an object which is
> of a specific class or has this class as it's base class.
>
> I can test on the __class__ and its __bases__ attributes, but its clumsy
> and I'm wondering if there is an easier notation, like:
>
> def method(self, p)
> assert class(p) == class(self)
>
> This is comparable to - in a strongly typed language - specifying a
> required base class as the type of the parameter.
I think that this will do what you want:
def method(self,p):
assert isinstance(p,self.__class__)
the following also does the same:
def method(self,p):
assert issubclass(p.__class__,self.__class__)
HTH
Michael
More information about the Python-list
mailing list