[Python-3000] PEP 3113 (Removal of Tuple Parameter Unpacking)
Raymond Hettinger
python at rcn.com
Sun Mar 4 22:22:14 CET 2007
[Ka-Ping Yee]
> In summary, all of the arguments for removing this feature are of the
> form "It won't hurt very much if we remove the feature"; the arguments
> for keeping the feature are of the form "This feature is useful and
> good for the language." Notice the asymmetry: there are no arguments
> that removing it will actually yield a better language, only arguments
> that the harm caused by removing it will be small.
Well said. I agree whole-heartedly; however, Brett did present another
argument beyond "it won't hurt much". I think his root motivation was
that the feature was difficult to implement for some reason or another.
FWIW, I would like the feature to be kept. I've found it useful in that it
documents the function signature more completely when dealing
with arguments that are already pre-packed into tuples (such as records
returned from SQL queries or CSV row readers):
def contact_info_update(timestamp, sequence_number, (name, address, phone,
email), backup=True):
. . .
contact_info_update(now(), seqnum, cursor.fetchone(), backup=False)
I think it is important to make explicit that the function depends on a specific
layout for
the contact record tuple and have that dependency show-up in tooltips when I
write
the function call.
Another example comes from a spherical navigation module with several tuple
representations for movement (lat_offset, long_offset) versus (dist,
direction).
Raymond
More information about the Python-3000
mailing list