Checking for required arguments when instantiating class.
Chris Rebert
clp2 at rebertia.com
Wed May 6 06:28:53 EDT 2009
On Wed, May 6, 2009 at 3:08 AM, Lacrima <Lacrima.Maxim at gmail.com> wrote:
> Hello!
>
> For example I have two classes:
>
>>>> class First:
> def __init__(self, *args, **kwargs):
> pass
>
>>>> class Second:
> def __init__(self, somearg, *args, **kwargs):
> self.somearg = somearg
>
> How can I test that First class takes 1 required argument and Second
> class takes no required arguments?
import inspect
args, varargs, varkw, defaults = inspect.getargspec(klass)
num_args_reqd = len(args) - (0 if defaults is None else len(defaults))
However, it sounds like a code smell that you're instanciating unknown
classes that don't share a common constructor signature.
Cheers,
Chris
--
http://blog.rebertia.com
More information about the Python-list
mailing list