Michael Rudolf <spamfres...@ch3ka.de> writes: > Just a quick question about what would be the most pythonic approach > in this. > > In Java, Method Overloading is my best friend, but this won't work in > Python: > >>>> def a(): > pass >>>> def a(x): > pass >>>> a() > Traceback (most recent call last): > File "<pyshell#12>", line 1, in <module> > a() > TypeError: a() takes exactly 1 argument (0 given) > > So - What would be the most pythonic way to emulate this? > Is there any better Idom than: > >>>> def a(x=None): > if x is None: > pass > else: > pass >
There are a number of frameworks for function overloading out there. FWIW, there is actually one in the Python sandbox (for Python 3): http://svn.python.org/view/sandbox/trunk/Overload3K/ -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list