Docs: Argument Clinic: Group guides about default values (#106872)

Previous ToC layout (excerpt):                                                                                          

    - How to use symbolic default values
    ...
    - How to assign default values to parameter
      - How to use the ``NULL`` default value
      - How to use expressions as default values

New layout:

    - How to assign default values to parameter
      - The ``NULL`` default value
      - Symbolic default values
      - Expressions as default values
This commit is contained in:
Erlend E. Aasland 2023-07-19 00:46:50 +02:00 committed by GitHub
parent a293fa5915
commit 505eede38d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 20 deletions

View File

@ -564,22 +564,6 @@ How-to guides
=============
How to use symbolic default values
----------------------------------
The default value you provide for a parameter can't be any arbitrary
expression. Currently the following are explicitly supported:
* Numeric constants (integer and float)
* String constants
* ``True``, ``False``, and ``None``
* Simple symbolic constants like ``sys.maxsize``, which must
start with the name of the module
(In the future, this may need to get even more elaborate,
to allow full expressions like ``CONSTANT - 1``.)
How to to rename C functions and variables generated by Argument Clinic
-----------------------------------------------------------------------
@ -965,8 +949,8 @@ There's also special support for a default value of ``NULL``, and
for simple expressions, documented in the following sections.
How to use the ``NULL`` default value
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The ``NULL`` default value
^^^^^^^^^^^^^^^^^^^^^^^^^^
For string and object parameters, you can set them to ``None`` to indicate
that there's no default. However, that means the C variable will be
@ -976,8 +960,24 @@ behaves like a default value of ``None``, but the C variable is initialized
with ``NULL``.
How to use expressions as default values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Symbolic default values
^^^^^^^^^^^^^^^^^^^^^^^
The default value you provide for a parameter can't be any arbitrary
expression. Currently the following are explicitly supported:
* Numeric constants (integer and float)
* String constants
* ``True``, ``False``, and ``None``
* Simple symbolic constants like ``sys.maxsize``, which must
start with the name of the module
(In the future, this may need to get even more elaborate,
to allow full expressions like ``CONSTANT - 1``.)
Expressions as default values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default value for a parameter can be more than just a literal value.
It can be an entire expression, using math operators and looking up attributes