[Python-Dev] pep 362 - 5th edition

Nick Coghlan ncoghlan at gmail.com
Wed Jun 20 05:24:50 CEST 2012


On Wed, Jun 20, 2012 at 12:36 PM, Yury Selivanov
<yselivanov.ml at gmail.com> wrote:
> On 2012-06-19, at 9:22 PM, Yury Selivanov wrote:
>> On 2012-06-19, at 8:39 PM, Nick Coghlan wrote:
>>> 7. The idea of immutable Signature objects does highlight an annoyance
>>> with the "attribute may be missing" style APIs. To actually duplicate
>>> a signature correctly, including its return annotation (and assuming
>>> the attribute is renamed), you would have to do something like:
>>>
>>>   try:
>>>       note = {"annotation": old_sig.annotation}
>>>   except AttributeError:
>>>       note = {}
>>>   new_sig = Signature(old_sig.parameters[1:], **note)
>
> BTW, we don't have slices for OrderedDict.  Since the slice object is
> not hashable, we can implement it safely. I can create an issue (and draft
> implementation), as I think it'd be quite a useful feature.

No need, my example was just wrong, it should be:

new_sig = Signature(old_sig.parameters.values()[1:])

The constructor accepts an iterable of Parameter objects rather than a mapping.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list