[Python-Dev] PEP 362: 4th edition

Yury Selivanov yselivanov.ml at gmail.com
Fri Jun 15 23:35:41 CEST 2012


On 2012-06-15, at 5:30 PM, Antoine Pitrou wrote:

> On Fri, 15 Jun 2012 17:26:25 -0400
> Yury Selivanov <yselivanov.ml at gmail.com> wrote:
> 
>> On 2012-06-15, at 5:13 PM, Antoine Pitrou wrote:
>> 
>>> On Fri, 15 Jun 2012 17:07:46 -0400
>>> Yury Selivanov <yselivanov.ml at gmail.com> wrote:
>>>> On 2012-06-15, at 4:48 PM, Victor Stinner wrote:
>>>> [snip]
>>>>> Would it be possible to only create a signature for builtin the first
>>>>> time that you read its __signature__ attribute? I don't know how to
>>>>> implement such behaviour on a builtin function. I don't know if it's
>>>>> important to decide this right now.
>>>>> 
>>>>> I don't want to create a signature at startup if it is not used,
>>>>> because it would waste memory (as docstrings? :-)).
>>>> 
>>>> I think when we have the working mechanism to generate them in place, 
>>>> we can make it lazy.
>>> 
>>> I'm not sure I understand. The PEP already says signatures are computed
>>> lazily. Is there an exception for built-in functions?
>> 
>> Right now, if there is no '__signature__' attribute set on a builtin
>> function - there is no way of generating it (PyCFunctionObject doesn't
>> have __code__), so a ValueError will be raised.
> 
> Ok, but what does this mean for 3.3? Does the PEP propose that all
> builtins get a non-lazy __signature__, or simply that ValueError always
> be raised?

Simply ValueError.

-
Yury


More information about the Python-Dev mailing list