"Talin" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Abstract > > This PEP proposes a change to the way that function arguments are > assigned to named parameter slots. In particular, it enables the > declaration of "keyword-only" arguments: arguments that can only > be supplied by keyword and which will never be automatically > filled in by a positional argument. > > > Rationale > > The current Python function-calling paradigm allows arguments to > be specified either by position or by keyword. An argument can be > filled in either explicitly by name, or implicitly by position. > > There are often cases where it is desirable for a function to take > a variable number of arguments. The Python language supports this > using the 'varargs' syntax ('*name'), which specifies that any > 'left over' arguments be passed into the varargs parameter as a > tuple. > > One limitation on this is that currently, all of the regular > argument slots must be filled before the vararg slot can be. > > This is not always desirable. One can easily envision a function > which takes a variable number of arguments, but also takes one > or more 'options' in the form of keyword arguments. Currently, > the only way to do this is to define both a varargs argument, > and a 'keywords' argument (**kwargs), and then manually extract > the desired keywords from the dictionary. >
First of all, let me remark that The current python symantics almost perfectly match those of VB6. Sure there is a little bit of syntax differences, but overall they are approximately equivlent. This is actually a good thing The one area thing that VB6 allows that python does not is optional arguments without a default value. However, what really happens is that the compiler assigns a default value, so it really is only a tiny difference. The main proposal here adds an aditional feature, and thus will break th matching of VB6, but not in a negative way, as VB6 could benefit from the same extention. So I would be +1. However, I'm not sure what the use case is for keyword only arguments on functions that do *not* accept a variable number of arguments. Could you please provide an example use case? _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com