[Python-Dev] How long the wrong type of argument should we limit (or not) in the error message (C-api)?
Nick Coghlan
ncoghlan at gmail.com
Sun Dec 15 22:30:56 CET 2013
More information about the Python-Dev mailing list
Sun Dec 15 22:30:56 CET 2013
- Previous message: [Python-Dev] How long the wrong type of argument should we limit (or not) in the error message (C-api)?
- Next message: [Python-Dev] How long the wrong type of argument should we limit (or not) in the error message (C-api)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 16 Dec 2013 02:58, "Ethan Furman" <ethan at stoneleaf.us> wrote: > > On 12/14/2013 07:51 PM, Steven D'Aprano wrote: >> >> On Sun, Dec 15, 2013 at 11:25:10AM +1000, Nick Coghlan wrote: >> >>> Oh, yes, a %T shortcut for "length limited type name of the supplied >>> object" would be brilliant. We need this frequently for C level error >>> messages, and I almost always have to look at an existing example to >>> remember the exact incantation :) >> >> >> What are the chances that could be made available from pure Python too? >> Having to extract the name of the type is a very common need for error >> messages, and I never know whether I ought to write type(obj).__name__ >> or obj.__class__.__name__. A %T and/or {:T} format code could be the One >> Obvious Way to include the type name in strings > > > +1 It's less obviously correct for Python code, though. In C, we're almost always running off slots, so type(obj).__name__ has a very high chance of being what we want, and is also preferred for speed reasons (since it's just a couple of pointer dereferences). At the Python level, whether to display obj.__name__ (working with a class directly), type(obj).__name__ (working with the concrete type, ignoring any proxying) or obj.__class__.__name__ (which takes proxying into account) really depends on exactly what you're doing, and the speed differences between them aren't so stark. Cheers, Nick. > > -- > ~Ethan~ > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131216/e411210c/attachment.html>
- Previous message: [Python-Dev] How long the wrong type of argument should we limit (or not) in the error message (C-api)?
- Next message: [Python-Dev] How long the wrong type of argument should we limit (or not) in the error message (C-api)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list