Martin v. Löwis <mar...@v.loewis.de> added the comment: No, it's not logical that there should be an exception. The result looks right to me.
You are incorrectly assuming that it would always invoke __getitem__ in this case, which is not true: py> "a string with a single placeholder: %s" % c 'a string with a single placeholder: <__main__.AClass object at 0xb7d3b1ec>' So whether it requires c to be a dictionary depends on whether there are any %(foo)s conversions in the string. With no conversion specifiers, the values passed to % are irrelevant. ---------- nosy: +loewis resolution: -> invalid status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6396> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com