@@ -1906,28 +1906,30 @@ In the standard library code, you will see several common patterns for
19061906correctly using identity tests:
19071907
190819081) As recommended by :pep: `8 `, an identity test is the preferred way to check
1909- for ``None ``. This reads like plain English in code and avoids confusion with
1910- other objects that may have boolean values that evaluate to false.
1909+ for ``None ``. This reads like plain English in code and avoids confusion
1910+ with other objects that may have boolean values that evaluate to false.
19111911
191219122) Detecting optional arguments can be tricky when ``None `` is a valid input
1913- value. In those situations, you can create a singleton sentinel object
1914- guaranteed to be distinct from other objects. For example, here is how
1915- to implement a method that behaves like :meth: `dict.pop `: :
1913+ value. In those situations, you can create a singleton sentinel object
1914+ guaranteed to be distinct from other objects. For example, here is how
1915+ to implement a method that behaves like :meth: `dict.pop `:
19161916
1917- _sentinel = object()
1917+ .. code-block :: python
19181918
1919- def pop(self, key, default=_sentinel):
1920- if key in self:
1921- value = self[key]
1922- del self[key]
1923- return value
1924- if default is _sentinel:
1925- raise KeyError(key)
1926- return default
1919+ _sentinel = object ()
1920+
1921+ def pop (self , key , default = _sentinel):
1922+ if key in self :
1923+ value = self [key]
1924+ del self [key]
1925+ return value
1926+ if default is _sentinel:
1927+ raise KeyError (key)
1928+ return default
19271929
19281930 3) Container implementations sometimes need to augment equality tests with
1929- identity tests. This prevents the code from being confused by objects such as
1930- ``float('NaN') `` that are not equal to themselves.
1931+ identity tests. This prevents the code from being confused by objects
1932+ such as ``float('NaN') `` that are not equal to themselves.
19311933
19321934For example, here is the implementation of
19331935:meth: `!collections.abc.Sequence.__contains__ `::
0 commit comments