On Fri, 2008-10-31 at 08:55 +1000, James Mills wrote:The (n given) notice refers to the number of keyword parameters>What you have discovered is not a bug :)
cheers
James
Are you sure? It looks like his complaint isn't that it doesn't work,
but that the error message is misleading.
With the setup:
Python 2.5.2 (r252:60911, Sep 22 2008, 12:08:38)
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright" , "credits" or "license" for more information.... pass>>>def foo( a, b, c ):
...
Compare the error messages from:
Traceback (most recent call last):>>>foo( **{ 'a' : 1, 'c' : 3 } )
File "<stdin>", line 1, in <module>
TypeError: foo() takes exactly 3 non-keyword arguments (1 given)
to the error message here:
Traceback (most recent call last):>>>foo( **{ 'a' : 1, 'b' : 3 } )
File "<stdin>", line 1, in <module>
TypeError: foo() takes exactly 3 non-keyword arguments (2 given)
you specified in the call that could be associated with a
non-keyword arguments of the function.
I agree that this is a bit misleading.
Please open a bug report on python.org.
Is it even possible to get an error message in terms of required keywordYou probably saw PEP 3102:
arguments? I seem to remember seeing a note about keyword only arguments
recently...
http://www.python.org/dev/peps/pep-3102/
That has a somewhat different focus though: it allows defining
keyword-only arguments, ie. ones that cannot be used as
both non-keyword parameter and keyword parameter (like we
have in Python 2.x).
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Oct 31 2008)
_______________ _______________ _______________ _______________ ____________>>Python/Zope Consulting and Support ... http://www.egenix.com/
mxODBC.Zope.D atabase.Adapter ... http://zope.egenix.com/
mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
:::: Try mxODBC.Zope.DA for Windows,Linux,S olaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611