[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