From 9af9ac153acb4198878ad81ef438aca2b808e45d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Tue, 23 Jan 2024 03:00:53 +0200 Subject: gh-66944: Note that the `contextlib.closing` example is for illustrative purposes (#112198) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/library/contextlib.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst index aab319c..b73373b 100644 --- a/Doc/library/contextlib.rst +++ b/Doc/library/contextlib.rst @@ -182,6 +182,14 @@ Functions and classes provided: without needing to explicitly close ``page``. Even if an error occurs, ``page.close()`` will be called when the :keyword:`with` block is exited. + .. note:: + + Most types managing resources support the :term:`context manager` protocol, + which closes *thing* on leaving the :keyword:`with` statment. + As such, :func:`!closing` is most useful for third party types that don't + support context managers. + This example is purely for illustration purposes, + as :func:`~urllib.request.urlopen` would normally be used in a context manager. .. function:: aclosing(thing) -- cgit v0.12