[3.14] gh-149267: Document ast.Constant.kind attribute (GH-149268) (#149293)

gh-149267: Document ast.Constant.kind attribute (GH-149268)

The kind attribute of ast.Constant was not mentioned in the
documentation. It is set to 'u' for u-prefixed string literals
and None for all other constants.

---------
(cherry picked from commit 3a1df787e1)

Co-authored-by: Anuj Nitin Bharambe <119653366+anujbharambe@users.noreply.github.com>
Co-authored-by: Anuj Bharambe <anujnitinb@gmail.com>
This commit is contained in:
Miss Islington (bot)
2026-05-03 18:04:14 +02:00
committed by GitHub
parent 4ce6d82453
commit b4b2e0cd7c
+8 -1
View File
@@ -274,18 +274,25 @@ Root nodes
Literals
^^^^^^^^
.. class:: Constant(value)
.. class:: Constant(value, kind)
A constant value. The ``value`` attribute of the ``Constant`` literal contains the
Python object it represents. The values represented can be instances of :class:`str`,
:class:`bytes`, :class:`int`, :class:`float`, :class:`complex`, and :class:`bool`,
and the constants :data:`None` and :data:`Ellipsis`.
The ``kind`` attribute is an optional string. For string literals with a
``u`` prefix, ``kind`` is set to ``'u'``. For all other
constants, ``kind`` is ``None``.
.. doctest::
>>> print(ast.dump(ast.parse('123', mode='eval'), indent=4))
Expression(
body=Constant(value=123))
>>> print(ast.dump(ast.parse("u'hello'", mode='eval'), indent=4))
Expression(
body=Constant(value='hello', kind='u'))
.. class:: FormattedValue(value, conversion, format_spec)