Re: [Python-Dev] PEP 362 Second Revision

2012年6月07日 14:55:59 -0700

On 2012年06月07日, at 5:39 PM, Terry Reedy wrote:
> On 6/7/2012 4:54 PM, Yury Selivanov wrote:
> 
>> I think we'll add a 'format' method to the Signature, that will work
>> like 'inspect.formatargspec'. 'Signature.__str__' will use it with
>> default parameters/formatters.
> 
> Great. If I don't like the default, I could customize.
Can you tell me how do you use those customizations (i.e.
formatvarargs, formatarg and other arguments of formatargspec)?
>> I'm not sure how __repr__ should look like. Maybe default repr
>> (object.__repr__) is good enough.
> 
> __repr__ = __str__ is common.
> 
> Idle tooltips use an re to strip 'self[, ]' from the inspect.formatargspec 
> result*. I have revised the code to only do that when appropriate (for bound 
> instance methods and callable instances), which is to say, when the user has 
> already entered the object that will become the self parameter). If signature 
> does the same, I might delete the code and use the signature object instead.
> 
> *The same could be done for class methods, but I am not sure that 'cls' is 
> standard enough to bother. Of course, any function using anything other than 
> 'self' will also not see the deletion. Come to think of it, now that I am 
> doing the search-and-replace conditionally rather than always, I can and 
> should re-write the re to remove the first name rather than 'self' 
> specifically. It will be good to have all such signature manipulations done 
> correctly in one place.
Well, signature won't strip parameters based on their names, but rather
based on the callable type. If it's a method, than no matter how
its first parameter is named - it will be omitted. Same applies for 
classmethods.
-
Yury
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to