From de957d3151094f89b7c289afa90080d6202199a5 Mon Sep 17 00:00:00 2001 From: sosokker Date: Mon, 14 Aug 2023 23:20:48 +0700 Subject: [PATCH] add howto for self-referencing type hints --- self-referencing-hints.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 self-referencing-hints.md diff --git a/self-referencing-hints.md b/self-referencing-hints.md new file mode 100644 index 0000000..1a50cda --- /dev/null +++ b/self-referencing-hints.md @@ -0,0 +1,18 @@ +## Self-Referencing Type Hints + +Inside of a class, if you write a type hint that refers to the same class Python will raise an Error because the class is not known yet. +For example: +```python +class Money: + def __add__(self, other: Money) -> Money: # ERROR: Money is unknown + """Return the sum of two money objects.""" + ... (code omitted) +``` + +to fix this, add the following import: +```python +from __future__ import annotations + +class Money: + def __add__(self, other: Money) -> Money: # OK! +``` \ No newline at end of file