[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