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 Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com