diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index bfc31af..308143d 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -36,16 +36,16 @@
         k = d.keys()
         self.assert_('a' in d)
         self.assert_('b' in d)
-
         self.assertRaises(TypeError, d.keys, None)
+        self.assertEqual(repr(dict(a=1).keys()), "dict_keys(['a'])")
 
     def test_values(self):
         d = {}
         self.assertEqual(set(d.values()), set())
         d = {1:2}
         self.assertEqual(set(d.values()), {2})
-
         self.assertRaises(TypeError, d.values, None)
+        self.assertEqual(repr(dict(a=1).values()), "dict_values([1])")
 
     def test_items(self):
         d = {}
@@ -53,8 +53,8 @@
 
         d = {1:2}
         self.assertEqual(set(d.items()), {(1, 2)})
-
         self.assertRaises(TypeError, d.items, None)
+        self.assertEqual(repr(dict(a=1).items()), "dict_items([('a', 1)])")
 
     def test_contains(self):
         d = {}
diff --git a/Misc/NEWS b/Misc/NEWS
index d737f74..0a7a53b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,9 @@
 -----------------
 
 =======
+
+- Give dict views an informative __repr__.
+
 - Issue #5247: Improve error message when unknown format codes are
   used when using str.format() with str, int, and float arguments.
 
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 10b6fd8..e235993 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -2563,6 +2563,21 @@
 	return result;
 }
 
+static PyObject *
+dictview_repr(dictviewobject *dv)
+{
+	PyObject *seq;
+	PyObject *result;
+	
+	seq = PySequence_List((PyObject *)dv);
+	if (seq == NULL)
+		return NULL;
+
+	result = PyUnicode_FromFormat("%s(%R)", Py_TYPE(dv)->tp_name, seq);
+	Py_DECREF(seq);
+	return result;
+}
+
 /*** dict_keys ***/
 
 static PyObject *
@@ -2700,7 +2715,7 @@
 	0,					/* tp_getattr */
 	0,					/* tp_setattr */
 	0,					/* tp_reserved */
-	0,					/* tp_repr */
+	(reprfunc)dictview_repr,		/* tp_repr */
 	&dictviews_as_number,			/* tp_as_number */
 	&dictkeys_as_sequence,			/* tp_as_sequence */
 	0,					/* tp_as_mapping */
@@ -2784,7 +2799,7 @@
 	0,					/* tp_getattr */
 	0,					/* tp_setattr */
 	0,					/* tp_reserved */
-	0,					/* tp_repr */
+	(reprfunc)dictview_repr,		/* tp_repr */
 	&dictviews_as_number,			/* tp_as_number */
 	&dictitems_as_sequence,			/* tp_as_sequence */
 	0,					/* tp_as_mapping */
@@ -2849,7 +2864,7 @@
 	0,					/* tp_getattr */
 	0,					/* tp_setattr */
 	0,					/* tp_reserved */
-	0,					/* tp_repr */
+	(reprfunc)dictview_repr,		/* tp_repr */
 	0,					/* tp_as_number */
 	&dictvalues_as_sequence,		/* tp_as_sequence */
 	0,					/* tp_as_mapping */
