Proposal: Allow any mapping after ** in calls
Python allows arbitrary sequences after * in calls, but an expression following ** must be a (subclass of) dict. I believe * and ** should be treated similarly and since f(*UserList(..)) is valid, f(**UserDict(..)) should be valid as well. Of course, I can work around this limitation by writing f(**dict(UserDict(..))), but this is unnatural given that I don't have to do f(*tuple(UserList(..))). I have submitted a patch on SF that makes Python accept arbitrary mappings after **. See https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1686487&group_id=5470.
Alexander Belopolsky schrieb:
Python allows arbitrary sequences after * in calls, but an expression following ** must be a (subclass of) dict. I believe * and ** should be treated similarly and since f(*UserList(..)) is valid, f(**UserDict(..)) should be valid as well.
Of course, I can work around this limitation by writing f(**dict(UserDict(..))), but this is unnatural given that I don't have to do f(*tuple(UserList(..))).
I have submitted a patch on SF that makes Python accept arbitrary mappings after **.
Ping! Nobody interested in this? Georg
I'm +1 on the idea, but have no time to review the change.
On 4/18/07, Georg Brandl
Alexander Belopolsky schrieb:
Python allows arbitrary sequences after * in calls, but an expression following ** must be a (subclass of) dict. I believe * and ** should be treated similarly and since f(*UserList(..)) is valid, f(**UserDict(..)) should be valid as well.
Of course, I can work around this limitation by writing f(**dict(UserDict(..))), but this is unnatural given that I don't have to do f(*tuple(UserList(..))).
I have submitted a patch on SF that makes Python accept arbitrary mappings after **.
Ping! Nobody interested in this?
Georg
_______________________________________________ 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/guido%40python.org
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (3)
-
Alexander Belopolsky
-
Georg Brandl
-
Guido van Rossum