bpo-31822: Document that urllib.parse.{Defrag,Split,Parse}Result are namedtuples (GH-4434)
(cherry picked from commit 13c1f72cd1
)
Co-authored-by: Lisa Roach <lisaroach14@gmail.com>
This commit is contained in:
parent
2b580146a5
commit
fc00102363
|
@ -39,8 +39,9 @@ or on combining URL components into a URL string.
|
||||||
|
|
||||||
.. function:: urlparse(urlstring, scheme='', allow_fragments=True)
|
.. function:: urlparse(urlstring, scheme='', allow_fragments=True)
|
||||||
|
|
||||||
Parse a URL into six components, returning a 6-tuple. This corresponds to the
|
Parse a URL into six components, returning a 6-item :term:`named tuple`. This
|
||||||
general structure of a URL: ``scheme://netloc/path;parameters?query#fragment``.
|
corresponds to the general structure of a URL:
|
||||||
|
``scheme://netloc/path;parameters?query#fragment``.
|
||||||
Each tuple item is a string, possibly empty. The components are not broken up in
|
Each tuple item is a string, possibly empty. The components are not broken up in
|
||||||
smaller parts (for example, the network location is a single string), and %
|
smaller parts (for example, the network location is a single string), and %
|
||||||
escapes are not expanded. The delimiters as shown above are not part of the
|
escapes are not expanded. The delimiters as shown above are not part of the
|
||||||
|
@ -88,8 +89,8 @@ or on combining URL components into a URL string.
|
||||||
or query component, and :attr:`fragment` is set to the empty string in
|
or query component, and :attr:`fragment` is set to the empty string in
|
||||||
the return value.
|
the return value.
|
||||||
|
|
||||||
The return value is actually an instance of a subclass of :class:`tuple`. This
|
The return value is a :term:`named tuple`, which means that its items can
|
||||||
class has the following additional read-only convenience attributes:
|
be accessed by index or as named attributes, which are:
|
||||||
|
|
||||||
+------------------+-------+--------------------------+----------------------+
|
+------------------+-------+--------------------------+----------------------+
|
||||||
| Attribute | Index | Value | Value if not present |
|
| Attribute | Index | Value | Value if not present |
|
||||||
|
@ -129,6 +130,24 @@ or on combining URL components into a URL string.
|
||||||
``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is
|
``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is
|
||||||
decomposed before parsing, no error will be raised.
|
decomposed before parsing, no error will be raised.
|
||||||
|
|
||||||
|
As is the case with all named tuples, the subclass has a few additional methods
|
||||||
|
and attributes that are particularly useful. One such method is :meth:`_replace`.
|
||||||
|
The :meth:`_replace` method will return a new ParseResult object replacing specified
|
||||||
|
fields with new values.
|
||||||
|
|
||||||
|
.. doctest::
|
||||||
|
:options: +NORMALIZE_WHITESPACE
|
||||||
|
|
||||||
|
>>> from urllib.parse import urlparse
|
||||||
|
>>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html')
|
||||||
|
>>> u
|
||||||
|
ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
|
||||||
|
params='', query='', fragment='')
|
||||||
|
>>> u._replace(scheme='http')
|
||||||
|
ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
|
||||||
|
params='', query='', fragment='')
|
||||||
|
|
||||||
|
|
||||||
.. versionchanged:: 3.2
|
.. versionchanged:: 3.2
|
||||||
Added IPv6 URL parsing capabilities.
|
Added IPv6 URL parsing capabilities.
|
||||||
|
|
||||||
|
@ -230,11 +249,13 @@ or on combining URL components into a URL string.
|
||||||
This should generally be used instead of :func:`urlparse` if the more recent URL
|
This should generally be used instead of :func:`urlparse` if the more recent URL
|
||||||
syntax allowing parameters to be applied to each segment of the *path* portion
|
syntax allowing parameters to be applied to each segment of the *path* portion
|
||||||
of the URL (see :rfc:`2396`) is wanted. A separate function is needed to
|
of the URL (see :rfc:`2396`) is wanted. A separate function is needed to
|
||||||
separate the path segments and parameters. This function returns a 5-tuple:
|
separate the path segments and parameters. This function returns a 5-item
|
||||||
(addressing scheme, network location, path, query, fragment identifier).
|
:term:`named tuple`::
|
||||||
|
|
||||||
The return value is actually an instance of a subclass of :class:`tuple`. This
|
(addressing scheme, network location, path, query, fragment identifier).
|
||||||
class has the following additional read-only convenience attributes:
|
|
||||||
|
The return value is a :term:`named tuple`, its items can be accessed by index
|
||||||
|
or as named attributes:
|
||||||
|
|
||||||
+------------------+-------+-------------------------+----------------------+
|
+------------------+-------+-------------------------+----------------------+
|
||||||
| Attribute | Index | Value | Value if not present |
|
| Attribute | Index | Value | Value if not present |
|
||||||
|
@ -330,8 +351,8 @@ or on combining URL components into a URL string.
|
||||||
string. If there is no fragment identifier in *url*, return *url* unmodified
|
string. If there is no fragment identifier in *url*, return *url* unmodified
|
||||||
and an empty string.
|
and an empty string.
|
||||||
|
|
||||||
The return value is actually an instance of a subclass of :class:`tuple`. This
|
The return value is a :term:`named tuple`, its items can be accessed by index
|
||||||
class has the following additional read-only convenience attributes:
|
or as named attributes:
|
||||||
|
|
||||||
+------------------+-------+-------------------------+----------------------+
|
+------------------+-------+-------------------------+----------------------+
|
||||||
| Attribute | Index | Value | Value if not present |
|
| Attribute | Index | Value | Value if not present |
|
||||||
|
|
Loading…
Reference in New Issue