self.binary -> self._binary to remove it from the public interface -
suggestion by Raymond Hettinger.
diff --git a/Lib/shelve.py b/Lib/shelve.py
index e262d79..9477c5d 100644
--- a/Lib/shelve.py
+++ b/Lib/shelve.py
@@ -53,7 +53,7 @@
 
     def __init__(self, dict, binary=False):
         self.dict = dict
-        self.binary = binary
+        self._binary = binary
 
     def keys(self):
         return self.dict.keys()
@@ -78,7 +78,7 @@
 
     def __setitem__(self, key, value):
         f = StringIO()
-        p = Pickler(f, self.binary)
+        p = Pickler(f, self._binary)
         p.dump(value)
         self.dict[key] = f.getvalue()