mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
[3.12] Glossary: Add "static type checker" (GH-111837) (#111854)
Glossary: Add "static type checker" (GH-111837)
(cherry picked from commit 8ab7ad6308
)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
parent
d35c94566a
commit
42699c82d7
4 changed files with 14 additions and 7 deletions
|
@ -1132,6 +1132,11 @@ Glossary
|
||||||
an :term:`expression` or one of several constructs with a keyword, such
|
an :term:`expression` or one of several constructs with a keyword, such
|
||||||
as :keyword:`if`, :keyword:`while` or :keyword:`for`.
|
as :keyword:`if`, :keyword:`while` or :keyword:`for`.
|
||||||
|
|
||||||
|
static type checker
|
||||||
|
An external tool that reads Python code and analyzes it, looking for
|
||||||
|
issues such as incorrect types. See also :term:`type hints <type hint>`
|
||||||
|
and the :mod:`typing` module.
|
||||||
|
|
||||||
strong reference
|
strong reference
|
||||||
In Python's C API, a strong reference is a reference to an object
|
In Python's C API, a strong reference is a reference to an object
|
||||||
which is owned by the code holding the reference. The strong
|
which is owned by the code holding the reference. The strong
|
||||||
|
@ -1208,8 +1213,8 @@ Glossary
|
||||||
attribute, or a function parameter or return value.
|
attribute, or a function parameter or return value.
|
||||||
|
|
||||||
Type hints are optional and are not enforced by Python but
|
Type hints are optional and are not enforced by Python but
|
||||||
they are useful to static type analysis tools, and aid IDEs with code
|
they are useful to :term:`static type checkers <static type checker>`.
|
||||||
completion and refactoring.
|
They can also aid IDEs with code completion and refactoring.
|
||||||
|
|
||||||
Type hints of global variables, class attributes, and functions,
|
Type hints of global variables, class attributes, and functions,
|
||||||
but not local variables, can be accessed using
|
but not local variables, can be accessed using
|
||||||
|
|
|
@ -39,7 +39,8 @@ are:
|
||||||
#. Once your dependencies are no longer blocking you, use continuous integration
|
#. Once your dependencies are no longer blocking you, use continuous integration
|
||||||
to make sure you stay compatible with Python 2 and 3 (tox_ can help test
|
to make sure you stay compatible with Python 2 and 3 (tox_ can help test
|
||||||
against multiple versions of Python; ``python -m pip install tox``)
|
against multiple versions of Python; ``python -m pip install tox``)
|
||||||
#. Consider using optional static type checking to make sure your type usage
|
#. Consider using optional :term:`static type checking <static type checker>`
|
||||||
|
to make sure your type usage
|
||||||
works in both Python 2 and 3 (e.g. use mypy_ to check your typing under both
|
works in both Python 2 and 3 (e.g. use mypy_ to check your typing under both
|
||||||
Python 2 and Python 3; ``python -m pip install mypy``).
|
Python 2 and Python 3; ``python -m pip install mypy``).
|
||||||
|
|
||||||
|
@ -395,7 +396,7 @@ comparisons occur, making the mistake much easier to track down.
|
||||||
Consider using optional static type checking
|
Consider using optional static type checking
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
Another way to help port your code is to use a static type checker like
|
Another way to help port your code is to use a :term:`static type checker` like
|
||||||
mypy_ or pytype_ on your code. These tools can be used to analyze your code as
|
mypy_ or pytype_ on your code. These tools can be used to analyze your code as
|
||||||
if it's being run under Python 2, then you can run the tool a second time as if
|
if it's being run under Python 2, then you can run the tool a second time as if
|
||||||
your code is running under Python 3. By running a static type checker twice like
|
your code is running under Python 3. By running a static type checker twice like
|
||||||
|
|
|
@ -38,7 +38,8 @@ on efficient attribute extraction for output formatting and manipulation.
|
||||||
Third-party library with expanded time zone and parsing support.
|
Third-party library with expanded time zone and parsing support.
|
||||||
|
|
||||||
Package `DateType <https://pypi.org/project/datetype/>`_
|
Package `DateType <https://pypi.org/project/datetype/>`_
|
||||||
Third-party library that introduces distinct static types to e.g. allow static type checkers
|
Third-party library that introduces distinct static types to e.g. allow
|
||||||
|
:term:`static type checkers <static type checker>`
|
||||||
to differentiate between naive and aware datetimes.
|
to differentiate between naive and aware datetimes.
|
||||||
|
|
||||||
.. _datetime-naive-aware:
|
.. _datetime-naive-aware:
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The Python runtime does not enforce function and variable type annotations.
|
The Python runtime does not enforce function and variable type annotations.
|
||||||
They can be used by third party tools such as type checkers, IDEs, linters,
|
They can be used by third party tools such as :term:`type checkers <static type checker>`,
|
||||||
etc.
|
IDEs, linters, etc.
|
||||||
|
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue