diff -r 0f357cf011d3 Lib/tkinter/__init__.py --- a/Lib/tkinter/__init__.py Thu Feb 13 10:49:30 2014 +0200 +++ b/Lib/tkinter/__init__.py Sat Feb 15 08:56:38 2014 +0200 @@ -1282,6 +1282,11 @@ def __str__(self): """Return the window path name of this widget.""" return self._w + + def __repr__(self): + return '<%s.%s object %s>' % ( + self.__class__.__module__, self.__class__.__qualname__, self._w) + # Pack methods that apply to the master _noarg_ = ['_noarg_'] def pack_propagate(self, flag=_noarg_): diff -r 0f357cf011d3 Lib/tkinter/test/test_tkinter/test_misc.py --- a/Lib/tkinter/test/test_tkinter/test_misc.py Thu Feb 13 10:49:30 2014 +0200 +++ b/Lib/tkinter/test/test_tkinter/test_misc.py Sat Feb 15 08:56:38 2014 +0200 @@ -10,6 +10,11 @@ def setUp(self): self.root = ttk.setup_master() + def test_repr(self): + t = tkinter.Toplevel(self.root, name='top') + f = tkinter.Frame(t, name='child') + self.assertEqual(repr(f), '') + def test_tk_setPalette(self): root = self.root root.tk_setPalette('black')