--- /dev/null
+# āĻĒāĻžāĻāĻĨāύ āĻāϰ <abbr title="āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻāĻŋ āϧāϰāύā§āϰ āĻĄā§āĻāĻž āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤">āĻāĻžāĻāĻĒā§āϏ</abbr> āĻĒāϰāĻŋāĻāĻŋāϤāĻŋ
+
+Python-āĻ āĻāĻā§āĻāĻŋāĻ "āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ" (āϝāĻž "āĻāĻžāĻāĻĒ āĻ
ā§āϝāĻžāύā§āĻā§āĻļāύ" āύāĻžāĻŽā§āĻ āĻĒāϰāĻŋāĻāĻŋāϤ) āĻāϰ āĻāύā§āϝ āϏāĻžāĻĒā§āϰā§āĻ āϰāϝāĻŧā§āĻā§āĨ¤
+
+āĻāĻ **"āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ"** āĻŦāĻž āĻ
ā§āϝāĻžāύā§āĻā§āĻļāύāĻā§āϞāĻŋ āĻāĻ āϧāϰāĻŖā§āϰ āĻŦāĻŋāĻļā§āώ <abbr title="āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻšāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāϝāĻŧ āĻā§āĻĄ āϞā§āĻāĻžāϰ āύāĻŋāϝāĻŧāĻŽ āĻ āĻāĻ āύāĨ¤">āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ</abbr> āϝāĻž āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ <abbr title="āϝā§āĻŽāύ: str, int, float, bool">āĻāĻžāĻāĻĒ</abbr> āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
+
+āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻžāĻāĻĒ āĻā§āώāĻŖāĻž āĻāϰāϞā§, āĻāĻĄāĻŋāĻāϰ āĻāĻŦāĻ āĻā§āϞāĻā§āϞāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāϰāĻ āĻāĻžāϞ⧠āϏāĻžāĻĒā§āϰā§āĻ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āĨ¤
+
+āĻāĻāĻŋ āĻĒāĻžāĻāĻĨāύ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻāĻŋ āĻĻā§āϰā§āϤ **āĻāĻŋāĻāĻā§āϰāĻŋāϝāĻŧāĻžāϞ / āϰāĻŋāĻĢā§āϰā§āĻļāĻžāϰ** āĻŽāĻžāϤā§āϰāĨ¤ āĻāĻāĻŋ **FastAPI** āĻāϰ āϏāĻžāĻĨā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύā§āϝā§āύāϤāĻŽ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻāĻāĻžāϰ āĻāϰā§... āϝāĻž āĻāϏāϞ⧠āĻā§āĻŦ āĻāĻāĻāĻž āĻŦā§āĻļāĻŋ āύāĻžāĨ¤
+
+**FastAPI** āĻāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āύāĻŋāϰā§āĻŽāĻŋāϤ, āϝāĻž āĻāĻāĻŋāĻā§ āĻ
āύā§āĻ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŦāĻ āϞāĻžāĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
+
+āϤāĻŦā§, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāύ⧠**FastAPI** āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻžāĻ āĻāϰā§āύ, āϤāĻŦā§āĻ āĻāĻā§āϞāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻā§ āĻļā§āĻāĻž āĻāĻĒāύāĻžāϰ āĻāĻĒāĻāĻžāϰ⧠āĻāϏāĻŦā§āĨ¤
+
+!!! Note
+ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻāĻāύ Python āĻŦāĻŋāĻļā§āώāĻā§āĻ āĻšāύ, āĻāĻŦāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāĻŦāĻāĻŋāĻā§ āĻāĻžāύā§āύ, āϤāĻžāĻšāϞ⧠āĻĒāϰāĻŦāϰā§āϤ⧠āĻ
āϧā§āϝāĻžāϝāĻŧā§ āĻāϞ⧠āϝāĻžāύāĨ¤
+
+## āĻĒā§āϰā§āϰāĻŖāĻž
+
+āĻāϞā§āύ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻāϰāĻŋ:
+
+```Python
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+āĻāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻāĻŋ āĻāϞ āĻāϰāϞ⧠āĻāĻāĻāĻĒā§āĻ āĻšāϝāĻŧ:
+
+```
+John Doe
+```
+
+āĻĢāĻžāĻāĻļāύāĻāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻžāĻ āĻāϰā§:
+
+* `first_name` āĻāĻŦāĻ `last_name` āύā§āϝāĻŧāĨ¤
+* āĻĒā§āϰāϤāĻŋāĻāĻŋāϰ āĻĒā§āϰāĻĨāĻŽ āĻ
āĻā§āώāϰāĻā§ `title()` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦāĻĄāĻŧ āĻšāĻžāϤā§āϰ āĻ
āĻā§āώāϰ⧠āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰā§āĨ¤
+* āϤāĻžāĻĻā§āϰāĻā§ āĻŽāĻžāĻāĻāĻžāύ⧠āĻāĻāĻāĻŋ āϏā§āĻĒā§āϏ āĻĻāĻŋāϝāĻŧā§ <abbr title="āĻāĻāĻāĻžāϰ āĻĒāϰ⧠āĻāĻāĻāĻž āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž">concatenate</abbr> āĻāϰā§āĨ¤
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+### āĻāĻāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰā§āύ
+
+āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻŦ āϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĨ¤
+
+āĻāĻŋāύā§āϤ⧠āĻāĻāύ āĻāϞā§āĻĒāύāĻž āĻāϰā§āύ āϝ⧠āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻļā§āϰ⧠āĻĨā§āĻā§ āϞāĻŋāĻāĻāĻŋāϞā§āύāĨ¤
+
+āĻāĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āĻāĻĒāύāĻŋ āĻĢāĻžāĻāĻļāύā§āϰ āϏāĻāĻā§āĻāĻž āĻļā§āϰ⧠āĻāϰā§āĻāĻŋāϞā§āύ, āĻāĻĒāύāĻžāϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞāĻŋ āĻĒā§āϰāϏā§āϤā§āϤ āĻāĻŋāϞ...
+
+āĻāĻŋāύā§āϤ⧠āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻžāĻā§ "āϏā§āĻ method āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻž āĻĒā§āϰāĻĨāĻŽ āĻ
āĻā§āώāϰāĻā§ āĻŦāĻĄāĻŧ āĻšāĻžāϤā§āϰ āĻ
āĻā§āώāϰ⧠āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰā§"āĨ¤
+
+āĻāĻāĻž āĻāĻŋ `upper` āĻāĻŋāϞ? āύāĻžāĻāĻŋ `uppercase`? `first_uppercase`? `capitalize`?
+
+āϤāĻžāϰāĻĒāϰ, āĻāĻĒāύāĻŋ āĻĒā§āϰā§āύ⧠āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰā§āϰ āĻŦāύā§āϧā§, āĻāĻĄāĻŋāĻāϰ āĻ
āĻā§āĻāĻŽāĻĒā§āϞāĻŋāĻļāύā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āύā§āĻāϝāĻŧāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύāĨ¤
+
+āĻāĻĒāύāĻŋ āĻĢāĻžāĻāĻļāύā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ `first_name` āĻāĻžāĻāĻĒ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ āĻāĻāĻāĻŋ āĻĄāĻ (`.`) āĻāĻžāĻāĻĒ āĻāϰā§āύ āĻāĻŦāĻ `Ctrl+Space` āĻāĻžāĻĒā§āύ āĻ
āĻā§āĻāĻŽāĻĒā§āϞāĻŋāĻļāύ āĻā§āϰāĻŋāĻāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝāĨ¤
+
+āĻāĻŋāύā§āϤā§, āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻāĻĒāύāĻŋ āĻāĻŋāĻā§āĻ āĻāĻĒāϝā§āĻā§ āĻĒāĻžāύ āύāĻž:
+
+<img src="/img/python-types/image01.png">
+
+### āĻāĻžāĻāĻĒ āϝā§āĻ āĻāϰā§āύ
+
+āĻāϏā§āύ āĻāĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āϞāĻžāĻāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻŋāĨ¤
+
+āĻāĻŽāϰāĻž āĻ āĻŋāĻ āĻāĻ āĻ
āĻāĻļāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻŦ āĻ
āϰā§āĻĨāĻžā§ āĻĢāĻžāĻāĻļāύā§āϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞāĻŋ, āĻāĻāĻā§āϞāĻŋ:
+
+```Python
+ first_name, last_name
+```
+
+āĻĨā§āĻā§ āĻāĻāĻā§āϞāĻŋ:
+
+```Python
+ first_name: str, last_name: str
+```
+
+āĻŦā§āϝāĻžāϏāĨ¤
+
+āĻāĻā§āϞāĻŋāĻ "āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ":
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial002.py!}
+```
+
+āĻāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻ āĻā§āϝāĻžāϞ⧠āĻā§āώāĻŖāĻž āĻāϰāĻžāϰ āĻŽāϤ āύāϝāĻŧ āϝā§āĻŽāύ:
+
+```Python
+ first_name="john", last_name="doe"
+```
+
+āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻāĻŋāύāĻŋāϏāĨ¤
+
+āĻāĻŽāϰāĻž āϏāĻŽāĻžāύ (`=`) āύāϝāĻŧ, āĻā§āϞāύ (`:`) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻāĻŋāĨ¤
+
+āĻāĻŦāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϝā§āĻ āĻāϰāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϤā§āĻŽāύ āĻāĻŋāĻā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰ⧠āύāĻž āϝāĻž āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāϤāĨ¤
+
+āĻāĻŋāύā§āϤ⧠āĻāĻāύ, āĻāϞā§āĻĒāύāĻž āĻāϰā§āύ āĻāĻĒāύāĻŋ āĻāĻŦāĻžāϰ āϏā§āĻ āĻĢāĻžāĻāĻļāύ āϤā§āϰāĻŋāϰ āĻŽāĻžāĻāĻāĻžāύ⧠āĻāĻā§āύ, āĻāĻŋāύā§āϤ⧠āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϏāĻšāĨ¤
+
+āĻāĻāĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§, āĻāĻĒāύāĻŋ āĻ
āĻā§āĻāĻŽāĻĒā§āϞāĻŋāĻ āĻā§āϰāĻŋāĻāĻžāϰ āĻāϰāϤ⧠`Ctrl+Space` āĻāĻžāĻĒā§āύ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāύ:
+
+<img src="/img/python-types/image02.png">
+
+āĻāϰ āϏāĻžāĻĨā§, āĻāĻĒāύāĻŋ āĻ
āĻĒāĻļāύāĻā§āϞāĻŋ āĻĻā§āĻā§, āϏā§āĻā§āϰāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϝāϤāĻā§āώāĻŖ āύāĻž āĻāĻĒāύāĻŋ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻ
āĻĒāĻļāύ āĻā§āĻāĻā§ āĻĒāĻžāύ āϝāĻž āĻāĻŋāĻā§ āĻŽāύ⧠āĻĒāϰāĻŋāϝāĻŧā§ āĻĻā§āϝāĻŧ:
+
+<img src="/img/python-types/image03.png">
+
+## āĻāϰāĻ āĻĒā§āϰā§āϰāĻŖāĻž
+
+āĻāĻ āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻĻā§āĻā§āύ, āĻāĻāĻŋāϤ⧠āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϰāϝāĻŧā§āĻā§:
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial003.py!}
+```
+
+āĻāĻĄāĻŋāĻāϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§āϞāĻŋāϰ āĻāĻžāĻāĻĒ āĻāĻžāύāĻžāϰ āĻāĻžāϰāĻŖā§, āĻāĻĒāύāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ
āĻā§āĻāĻŽāĻĒā§āϞāĻŋāĻļāύāĻ āĻĒāĻžāύ āύāĻž, āĻāĻĒāύāĻŋ āĻāϰāϰ āĻā§āĻāĻ āĻĒāĻžāύ:
+
+<img src="/img/python-types/image04.png">
+
+āĻāĻāύ āĻāĻĒāύāĻŋ āĻāĻžāύā§āύ āϝ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āĻ āĻŋāĻ āĻāϰāϤ⧠āĻšāĻŦā§, `age`-āĻā§ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻšāĻŋāϏā§āĻŦā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāϤ⧠`str(age)` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§:
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial004.py!}
+```
+
+## āĻāĻžāĻāĻĒ āĻā§āώāĻŖāĻž
+
+āĻāĻĒāύāĻŋ āĻāϤāĻā§āώāύ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āĻā§āώāĻŖāĻž āĻāϰāĻžāϰ āĻŽā§āϞ āϏā§āĻĨāĻžāύāĻāĻŋ āĻĻā§āĻā§ āĻĢā§āϞā§āĻā§āύ-- āĻĢāĻžāĻāĻļāύ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻŋāϏā§āĻŦā§āĨ¤
+
+āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻŋ **FastAPI** āĻāϰ āĻā§āώā§āϤā§āϰā§āĻ āĻāĻāĻāĨ¤
+
+### āϏāĻŋāĻŽā§āĻĒāϞ āĻāĻžāĻāĻĒ
+
+āĻāĻĒāύāĻŋ `str` āĻāĻžāĻĄāĻŧāĻžāĻ āϏāĻŽāϏā§āϤ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĒāĻžāĻāĻĨāύ āĻāĻžāĻāĻĒ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ āĻāĻā§āϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
+
+* `int`
+* `float`
+* `bool`
+* `bytes`
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial005.py!}
+```
+
+### āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āϏāĻš āĻā§āύā§āϰāĻŋāĻ āĻāĻžāĻāĻĒ
+
+āĻāĻŋāĻā§ āĻĄāĻžāĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻ
āύā§āϝāĻžāύā§āϝ āĻŽāĻžāύ āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝā§āĻŽāύ `dict`, `list`, `set` āĻāĻŦāĻ `tuple`āĨ¤ āĻāĻŦāĻ āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻŽāĻžāύāĻā§āϞā§āϰāĻ āύāĻŋāĻā§āĻĻā§āϰ āĻāĻžāĻāĻĒ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤
+
+āĻāĻ āϧāϰāύā§āϰ āĻāĻžāĻāĻĒāĻā§āϞāĻŋāĻā§ āĻŦāϞāĻž āĻšāϝāĻŧ "**āĻā§āύā§āϰāĻŋāĻ**" āĻāĻžāĻāĻĒ āĻāĻŦāĻ āĻāĻā§āϞāĻŋāĻā§ āϤāĻžāĻĻā§āϰ āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āϏāĻš āĻā§āώāĻŖāĻž āĻāϰāĻž āϏāĻŽā§āĻāĻŦāĨ¤
+
+āĻāĻ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āĻāĻŦāĻ āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āĻā§āώāĻŖāĻž āĻāϰāϤā§, āĻāĻĒāύāĻŋ Python āĻŽāĻĄāĻŋāĻāϞ `typing` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻāĻŋ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāĻā§āϞāĻŋ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āϰāϝāĻŧā§āĻā§āĨ¤
+
+#### Python āĻāϰ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ
+
+`typing` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏāĻāĻŋ Python 3.6 āĻĨā§āĻā§ āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ āĻĒāϰā§āϝāύā§āϤ, āĻ
āϰā§āĻĨāĻžā§ Python 3.9, Python 3.10 āĻāϤā§āϝāĻžāĻĻāĻŋ āϏāĻš āϏāĻāϞ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ **āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ**āĨ¤
+
+Python āϝāϤ āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāĻā§āĻā§, **āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ** āĻāĻ āĻāĻžāĻāĻĒ āĻ
ā§āϝāĻžāύā§āĻā§āĻļāύāĻā§āϞāĻŋāϰ āĻāύā§āϝ āϤāϤ āĻāύā§āύāϤ āϏāĻžāĻĒā§āϰā§āĻ āύāĻŋāϝāĻŧā§ āĻāϏāĻā§ āĻāĻŦāĻ āĻ
āύā§āĻ āĻā§āώā§āϤā§āϰ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻžāĻāĻĒ āĻ
ā§āϝāĻžāύā§āĻā§āĻļāύ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠`typing` āĻŽāĻĄāĻŋāĻāϞ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§ āύāĻžāĨ¤
+
+āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻā§āĻā§āĻā§āϰ āĻāύā§āϝ Python-āĻāϰ āĻāϰāĻ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ āϏāĻāϏā§āĻāϰāĻŖ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ āϏā§āĻ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āϏāϰāϞāϤāĻž āĻĨā§āĻā§ āϏā§āĻŦāĻŋāϧāĻž āύāĻŋāϤ⧠āĻĒāĻžāϰāĻŦā§āύāĨ¤
+
+āĻĄāĻā§āϏ⧠āϰāϝāĻŧā§āĻā§ Python-āĻāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋ (āϝāĻāύ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻāĻā§)āĨ¤
+
+āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, "**Python 3.6+**" āĻŽāĻžāύ⧠āĻāĻāĻŋ Python 3.6 āĻŦāĻž āϤāĻžāϰ āĻāĻĒāϰ⧠āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ (āϝāĻžāϰ āĻŽāϧā§āϝ⧠3.7, 3.8, 3.9, 3.10, āĻāϤā§āϝāĻžāĻĻāĻŋ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ)āĨ¤ āĻāĻŦāĻ "**Python 3.9+**" āĻŽāĻžāύ⧠āĻāĻāĻŋ Python 3.9 āĻŦāĻž āϤāĻžāϰ āĻāĻĒāϰ⧠āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ (āϝāĻžāϰ āĻŽāϧā§āϝ⧠3.10, āĻāϤā§āϝāĻžāĻĻāĻŋ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ)āĨ¤
+
+āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ Python-āĻāϰ **āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ**, āϤāĻžāĻšāϞ⧠āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϏā§āĻā§āϞāĻŋ āĻāĻĒāύāĻžāĻā§ **āϏāϰā§āĻŦā§āϤā§āϤāĻŽ āĻāĻŦāĻ āϏāĻšāĻāϤāĻŽ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ** āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻŦā§, āϝā§āĻŽāύ, "**Python 3.10+**"āĨ¤
+
+#### āϞāĻŋāϏā§āĻ
+
+āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§ `str`-āĻāϰ āĻāĻāĻāĻŋ `list` āĻšāĻŋāϏā§āĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āϝāĻžāĻāĨ¤
+
+=== "Python 3.9+"
+
+ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻāĻŋ āĻā§āώāĻŖāĻž āĻāϰā§āύ, āĻāĻāĻ āĻā§āϞāύ (`:`) āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
+
+ āĻāĻžāĻāĻĒ āĻšāĻŋāϏā§āĻŦā§, `list` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
+
+ āϝā§āĻšā§āϤ⧠āϞāĻŋāϏā§āĻ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āϝāĻž āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āϧāĻžāϰāĻŖ āĻāϰā§, āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āϏā§āĻā§āϝāĻŧāĻžāϰ āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻāĻŋāϤāϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ:
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial006_py39.py!}
+ ```
+
+=== "Python 3.8+"
+
+ `typing` āĻĨā§āĻā§ `List` (āĻŦāĻĄāĻŧ āĻšāĻžāϤā§āϰ `L` āĻĻāĻŋāϝāĻŧā§) āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰā§āύ:
+
+ ``` Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial006.py!}
+ ```
+
+ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻāĻŋ āĻā§āώāĻŖāĻž āĻāϰā§āύ, āĻāĻāĻ āĻā§āϞāύ (`:`) āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
+
+ āĻāĻžāĻāĻĒ āĻšāĻŋāϏā§āĻŦā§, `typing` āĻĨā§āĻā§ āĻāĻĒāύāĻžāϰ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻāϰāĻž `List` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
+
+ āϝā§āĻšā§āϤ⧠āϞāĻŋāϏā§āĻ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āϝāĻž āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āϧāĻžāϰāĻŖ āĻāϰā§, āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āϏā§āĻā§āϝāĻŧāĻžāϰ āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻāĻŋāϤāϰ⧠āĻāϰā§āύ:
+
+ ```Python hl_lines="4"
+ {!> ../../../docs_src/python_types/tutorial006.py!}
+ ```
+
+!!! Info
+ āϏā§āĻā§āϝāĻŧāĻžāϰ āĻŦā§āϰāĻžāĻā§āĻ āĻāϰ āĻāĻŋāϤāϰ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻāϏāĻŦ āĻ
āĻāύā§āϤāϰā§āύ āĻāĻžāĻāĻĒāĻā§āϞā§āĻā§ "āĻāύā§āĻāĻžāϰāύāĻžāϞ āĻāĻžāĻāĻĒ" āĻŦāϞā§āĨ¤
+
+ āĻāĻ āĻāĻĻāĻžāĻšāϰāĻŖā§, āĻāĻāĻŋ āĻšāĻā§āĻā§ `List`(āĻ
āĻĨāĻŦāĻž āĻĒāĻžāĻāĻĨāύ ā§Š.⧝ āĻŦāĻž āϤāĻžāϰ āĻāĻĒāϰā§āϰ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻā§āώā§āϤā§āϰ⧠`list`) āĻ āĻĒāĻžāϏ āĻāϰāĻž āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĨ¤
+
+āĻāϰ āĻ
āϰā§āĻĨ āĻšāĻā§āĻā§: "āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ `items` āĻāĻāĻāĻŋ `list`, āĻāĻŦāĻ āĻāĻ āϞāĻŋāϏā§āĻā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻāĻā§āĻŽ āĻāĻāĻāĻŋ `str`āĨ¤"
+
+!!! Tip
+ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ Python 3.9 āĻŦāĻž āϤāĻžāϰ āĻāĻĒāϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āĻāĻĒāύāĻžāϰ `typing` āĻĨā§āĻā§ `List` āĻāĻŽāĻĻāĻžāύāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž, āĻāĻĒāύāĻŋ āϏāĻžāϧāĻžāϰāĻŖ `list` āĻāĻ āĻāĻžāĻāĻĒā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§, āĻāĻĒāύāĻžāϰ āĻāĻĄāĻŋāĻāϰ āϞāĻŋāϏā§āĻ āĻĨā§āĻā§ āĻāĻāĻā§āĻŽ āĻĒā§āϰāϏā§āϏ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏāĻžāĻĒā§āϰā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§:
+
+<img src="/img/python-types/image05.png">
+
+āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āĻāĻžāĻĄāĻŧāĻž, āĻāĻāĻŋ āĻāϰāĻž āĻĒā§āϰāĻžāϝāĻŧ āĻ
āϏāĻŽā§āĻāĻŦāĨ¤
+
+āϞāĻā§āώā§āϝ āĻāϰā§āύ āϝ⧠āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ `item` āĻšāϞ `items` āϞāĻŋāϏā§āĻā§āϰ āĻāĻāĻāĻŋ āĻāϞāĻŋāĻŽā§āύā§āĻāĨ¤
+
+āϤāĻŦā§āĻ, āĻāĻĄāĻŋāĻāϰ āĻāĻžāύ⧠āϝ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ `str`, āĻāĻŦāĻ āϤāĻžāϰ āĻāύā§āϝ āϏāĻžāĻĒā§āϰā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
+
+#### āĻāĻžāĻĒāϞ āĻāĻŦāĻ āϏā§āĻ
+
+āĻāĻĒāύāĻŋ `tuple` āĻāĻŦāĻ `set` āĻā§āώāĻŖāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻ
āύā§āϏāϰāĻŖ āĻāϰāĻŦā§āύ:
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial007_py39.py!}
+ ```
+
+=== "Python 3.8+"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial007.py!}
+ ```
+
+āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ:
+
+* āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ `items_t` āĻšāϞ āĻāĻāĻāĻŋ `tuple` āϝāĻž ā§ŠāĻāĻŋ āĻāĻāĻā§āĻŽ āϧāĻžāϰāĻŖ āĻāϰā§, āĻāĻāĻāĻŋ `int`, āĻ
āύā§āϝ āĻāĻāĻāĻŋ `int`, āĻāĻŦāĻ āĻāĻāĻāĻŋ `str`āĨ¤
+* āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ `items_s` āĻšāϞ āĻāĻāĻāĻŋ `set`, āĻāĻŦāĻ āĻāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻāĻā§āĻŽ āĻšāϞ `bytes` āĻāĻžāĻāĻĒā§āϰāĨ¤
+
+#### āĻĄāĻŋāĻā§āĻ
+
+āĻāĻāĻāĻŋ `dict` āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤā§, āĻāĻĒāύāĻŋ ⧍āĻāĻŋ āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻāĻŽāĻž āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āĻĨāĻ āĻāϰ⧠āĻĻā§āĻŦā§āύāĨ¤
+
+āĻĒā§āϰāĻĨāĻŽ āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻšāϞ `dict`-āĻāϰ āĻā§āĻā§āϞāĻŋāϰ āĻāύā§āϝāĨ¤
+
+āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻšāϞ `dict`-āĻāϰ āĻŽāĻžāύāĻā§āϞāĻŋāϰ āĻāύā§āϝ:
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial008_py39.py!}
+ ```
+
+=== "Python 3.8+"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial008.py!}
+ ```
+
+
+āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ:
+
+* āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ `prices` āĻšāϞ āĻāĻāĻāĻŋ `dict`:
+ * āĻāĻ `dict`-āĻāϰ āĻā§āĻā§āϞāĻŋ āĻšāϞ `str` āĻāĻžāĻāĻĒā§āϰ (āϧāϰāĻž āϝāĻžāĻ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻāĻā§āĻŽā§āϰ āύāĻžāĻŽ)āĨ¤
+ * āĻāĻ `dict`-āĻāϰ āĻŽāĻžāύāĻā§āϞāĻŋ āĻšāϞ `float` āĻāĻžāĻāĻĒā§āϰ (āϧāϰāĻž āϝāĻžāĻ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻāĻā§āĻŽā§āϰ āĻĻāĻžāĻŽ)āĨ¤
+
+#### āĻāĻāύāĻŋāϝāĻŧāύ
+
+āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§ āĻāĻŽāύāĻāĻžāĻŦā§ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϝā§āύ āϤāĻž **āĻāĻāĻžāϧāĻŋāĻ āĻāĻžāĻāĻĒā§āϰ** āĻšāϝāĻŧ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ `int` āĻ
āĻĨāĻŦāĻž `str`āĨ¤
+
+Python 3.6 āĻāĻŦāĻ āϤāĻžāϰ āĻāĻĒāϰā§āϰ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϤ⧠(Python 3.10 āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ) āĻāĻĒāύāĻŋ `typing` āĻĨā§āĻā§ `Union` āĻāĻžāĻāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āϏā§āĻā§āϝāĻŧāĻžāϰ āĻŦā§āϰā§āϝāĻžāĻā§āĻā§āϰ āĻŽāϧā§āϝ⧠āĻā§āϰāĻšāĻŖāϝā§āĻā§āϝ āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āϰāĻžāĻāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+Python 3.10-āĻ āĻāĻāĻāĻŋ **āύāϤā§āύ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ** āĻāĻā§ āϝā§āĻāĻžāύ⧠āĻāĻĒāύāĻŋ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻāĻžāĻāĻĒāĻā§āϞāĻŋāĻā§ āĻāĻāĻāĻŋ <abbr title="āĻāϞā§āϞāĻŽā§āĻŦ āĻŦāĻžāϰāĻžāϞāĻā§ 'āĻŦāĻŋāĻāĻāϝāĻŧāĻžāĻāĻ āĻŦāĻž āĻ
āĻĒāĻžāϰā§āĻāϰ' āĻŦāϞāĻž āĻšāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āϏā§āĻ āĻ
āϰā§āĻĨ āĻāĻāĻžāύ⧠āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ āύāϝāĻŧ">āĻāĻžāϰā§āĻāĻŋāĻāĻžāϞ āĻŦāĻžāϰ (`|`)</abbr> āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āĻĨāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+=== "Python 3.10+"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial008b_py310.py!}
+ ```
+
+=== "Python 3.8+"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial008b.py!}
+ ```
+
+āĻāĻāϝāĻŧ āĻā§āώā§āϤā§āϰā§āĻ āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠`item` āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻāĻāĻŋ `int` āĻ
āĻĨāĻŦāĻž `str`āĨ¤
+
+#### āϏāĻŽā§āĻāĻŦāϤ `None`
+
+āĻāĻĒāύāĻŋ āĻāĻŽāύāĻāĻžāĻŦā§ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϝ⧠āĻāĻāĻāĻŋ āĻŽāĻžāύ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻ āĻāĻžāĻāĻĒā§āϰ, āϝā§āĻŽāύ `str`, āĻāĻŦāĻžāϰ āĻāĻāĻŋ `None`-āĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
+
+Python 3.6 āĻāĻŦāĻ āϤāĻžāϰ āĻāĻĒāϰā§āϰ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϤ⧠(Python 3.10 āĻ
āύāϤāϰā§āĻā§āĻā§āϤ) āĻāĻĒāύāĻŋ `typing` āĻŽāĻĄāĻŋāĻāϞ āĻĨā§āĻā§ `Optional` āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰ⧠āĻāĻāĻŋ āĻā§āώāĻŖāĻž āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009.py!}
+```
+
+`Optional[str]` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻŽāĻžāύ⧠āĻšāϞ āĻļā§āϧ⧠`str` āύāϝāĻŧ, āĻāĻāĻŋ āĻšāϤ⧠āĻĒāĻžāϰ⧠`None`-āĻ, āϝāĻž āĻāĻĒāύāĻžāϰ āĻāĻĄāĻŋāĻāϰāĻā§ āϏā§āĻ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻļāύāĻžāĻā§āϤ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻŦā§ āϝā§āĻāĻžāύ⧠āĻāĻĒāύāĻŋ āϧāϰ⧠āύāĻŋāĻā§āĻā§āύ āϝ⧠āĻāĻāĻāĻŋ āĻŽāĻžāύ āϏāĻŦāϏāĻŽāϝāĻŧ `str` āĻšāĻŦā§, āĻ
āĻĨāĻ āĻāĻāĻŋ `None`-āĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĻāĨ¤
+
+`Optional[Something]` āĻŽā§āϞāϤ `Union[Something, None]`-āĻāϰ āĻāĻāĻāĻŋ āĻļāϰā§āĻāĻāĻžāĻ, āĻāĻŦāĻ āϤāĻžāϰāĻž āϏāĻŽāϤā§āϞā§āϝāĨ¤
+
+āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ, Python 3.10-āĻ, āĻāĻĒāύāĻŋ āĻāĻžāĻāĻĒāĻā§āϞāĻŋāϰ āĻāĻāύāĻŋāϝāĻŧāύ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠`Something | None` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
+
+=== "Python 3.10+"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial009_py310.py!}
+ ```
+
+=== "Python 3.8+"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial009.py!}
+ ```
+
+=== "Python 3.8+ āĻŦāĻŋāĻāϞā§āĻĒ"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial009b.py!}
+ ```
+
+#### `Union` āĻŦāĻž `Optional` āĻŦā§āϝāĻŦāĻšāĻžāϰ
+
+āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ Python 3.10-āĻāϰ āύā§āĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻŦā§ āĻāĻāĻžāύ⧠āĻāĻŽāĻžāϰ āĻā§āĻŦāĻ **āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ** āĻĻā§āώā§āĻāĻŋāĻāĻā§āĻāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŋāĻĒāϏ:
+
+* đ¨ `Optional[SomeType]` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āĻāϞā§āύāĨ¤
+* āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āĻ¤ā§ â¨ **`Union[SomeType, None]` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ** â¨āĨ¤
+
+āĻāĻāϝāĻŧāĻ āϏāĻŽāϤā§āϞā§āϝ āĻāĻŦāĻ āĻŽā§āϞ⧠āĻāĻāĻ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻŋ `Union`-āĻāϰ āĻĒāĻā§āώ⧠āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻŦ āĻāĻžāϰāĻŖ "**āĻ
āĻĒāĻļāύāĻžāϞ**" āĻļāĻŦā§āĻĻāĻāĻŋ āĻŽāύ⧠āĻšāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻŽāĻžāύāĻāĻŋ āĻāĻā§āĻāĻŋāĻ,āĻ
āĻĨāĻ āĻāĻāĻŋ āĻāϏāϞ⧠āĻŽāĻžāύ⧠"āĻāĻāĻŋ āĻšāϤ⧠āĻĒāĻžāϰ⧠`None`", āĻāĻŽāύāĻāĻŋ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āύāĻž āĻšāϝāĻŧā§āĻ āĻāĻŦāĻļā§āϝāĻŋāĻ āĻšāϝāĻŧāĨ¤
+
+āĻāĻŽāĻŋ āĻŽāύ⧠āĻāϰāĻŋ `Union[SomeType, None]` āĻāϰ āĻ
āϰā§āĻĨ āĻāϰāĻ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§āĨ¤
+
+āĻāĻāĻŋ āĻā§āĻŦāϞ āĻļāĻŦā§āĻĻ āĻāĻŦāĻ āύāĻžāĻŽā§āϰ āĻŦā§āϝāĻžāĻĒāĻžāϰāĨ¤ āĻāĻŋāύā§āϤ⧠āϏā§āĻ āĻļāĻŦā§āĻĻāĻā§āϞāĻŋ āĻāĻĒāύāĻŋ āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āϏāĻšāĻāϰā§āĻŽā§āϰāĻž āĻā§āĻĄ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻŋāύā§āϤāĻž āĻāϰā§āύ āϤāĻž āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
+
+āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻšāĻŋāϏā§āĻŦā§, āĻāĻ āĻĢāĻžāĻāĻļāύāĻāĻŋ āύāĻŋāύ:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009c.py!}
+```
+
+`name` āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ `Optional[str]` āĻšāĻŋāϏā§āĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧā§āĻā§, āĻāĻŋāύā§āϤ⧠āĻāĻāĻŋ **āĻ
āĻĒāĻļāύāĻžāϞ āύāϝāĻŧ**, āĻāĻĒāύāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻāĻžāĻĄāĻŧāĻž āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž:
+
+```Python
+say_hi() # āĻāĻš āύāĻž, āĻāĻāĻŋ āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āύāĻŋāĻā§āώā§āĻĒ āĻāϰāĻŦā§! đą
+```
+
+`name` āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ **āĻāĻāύāĻ āĻāĻŦāĻļā§āϝāĻŋāĻ** (āύāύ-āĻ
āĻĒāĻļāύāĻžāϞ) āĻāĻžāϰāĻŖ āĻāĻāĻŋāϰ āĻā§āύ⧠āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύ āύā§āĻāĨ¤ āϤāĻŦā§āĻ, `name` āĻāϰ āĻŽāĻžāύ āĻšāĻŋāϏā§āĻŦā§ `None` āĻā§āϰāĻšāĻŖāϝā§āĻā§āϝ:
+
+```Python
+say_hi(name=None) # āĻāĻāĻŋ āĻāĻžāĻ āĻāϰā§, None āĻŦā§āϧ đ
+```
+
+āϏā§āĻāĻŦāϰ āĻšāϞ, āĻāĻāĻŦāĻžāϰ āĻāĻĒāύāĻŋ Python 3.10 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻļā§āϰ⧠āĻāϰāϞā§, āĻāĻĒāύāĻžāĻā§ āĻāĻā§āϞā§āϰ āĻŦā§āϝāĻžāĻĒāĻžāϰ⧠āĻāϰ āĻāĻŋāύā§āϤāĻž āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž, āϝā§āĻšā§āϤ⧠āĻāĻĒāύāĻŋ | āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĻ āĻāĻāύāĻŋāϝāĻŧāύ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009c_py310.py!}
+```
+
+āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻžāĻā§ āύāĻžāĻŽāĻā§āϞāĻŋ āϝā§āĻŽāύ `Optional` āĻāĻŦāĻ `Union` āύāĻŋāϝāĻŧā§ āĻāϰ āĻāĻŋāύā§āϤāĻž āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻžāĨ¤ đ
+
+#### āĻā§āύā§āϰāĻŋāĻ āĻāĻžāĻāĻĒāϏ
+
+āϏā§āĻā§āϝāĻŧāĻžāϰ āĻŦā§āϰā§āϝāĻžāĻā§āĻā§ āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āύā§āĻāϝāĻŧāĻž āĻāĻ āĻāĻžāĻāĻĒāĻā§āϞāĻŋāĻā§ **āĻā§āύā§āϰāĻŋāĻ āĻāĻžāĻāĻĒ** āĻŦāĻž **āĻā§āύā§āϰāĻŋāĻāϏ** āĻŦāϞāĻž āĻšāϝāĻŧ, āϝā§āĻŽāύ:
+
+=== "Python 3.10+"
+ āĻāĻĒāύāĻŋ āϏā§āĻ āĻāĻāĻ āĻŦāĻŋāϞā§āĻāĻāύ āĻāĻžāĻāĻĒ āĻā§āύā§āϰāĻŋāĻā§āϏ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ(āĻāĻŋāϤāϰ⧠āĻāĻžāĻāĻĒ āϏāĻš āϏā§āĻāϝāĻŧāĻžāϰ⧠āĻŦā§āϰāĻžāĻā§āĻ āĻĻāĻŋāϝāĻŧā§):
+
+ * `list`
+ * `tuple`
+ * `set`
+ * `dict`
+
+ āĻāĻŦāĻ Python 3.8 āĻāϰ āĻŽāϤā§āĻ, `typing` āĻŽāĻĄāĻŋāĻāϞ āĻĨā§āĻā§:
+
+ * `Union`
+ * `Optional` (Python 3.8 āĻāϰ āĻŽāϤā§āĻ)
+ * ...āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝāĨ¤
+
+ Python 3.10-āĻ, `Union` āĻāĻŦāĻ `Optional` āĻā§āύā§āϰāĻŋāĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻŦāĻŋāĻāϞā§āĻĒ āĻšāĻŋāϏā§āĻŦā§, āĻāĻĒāύāĻŋ āĻāĻžāĻāĻĒāĻā§āϞāĻŋāϰ āĻāĻāύāĻŋāϝāĻŧāύ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠<abbr title="āĻāϞā§āϞāĻŽā§āĻŦ āĻŦāĻžāϰāĻžāϞāĻā§ 'āĻŦāĻŋāĻāĻāϝāĻŧāĻžāĻāĻ āĻŦāĻž āĻ
āĻĒāĻžāϰā§āĻāϰ' āĻŦāϞāĻž āĻšāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āϏā§āĻ āĻ
āϰā§āĻĨ āĻāĻāĻžāύ⧠āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ āύāϝāĻŧ">āĻāĻžāϰā§āĻāĻŋāĻāĻžāϞ āĻŦāĻžāϰ (`|`)</abbr> āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϝāĻž āĻāĻĻā§āϰ āĻĨā§āĻā§ āĻ
āύā§āĻ āĻāĻžāϞ⧠āĻāĻŦāĻ āϏāĻšāĻāĨ¤
+
+=== "Python 3.9+"
+
+ āĻāĻĒāύāĻŋ āϏā§āĻ āĻāĻāĻ āĻŦāĻŋāϞā§āĻāĻāύ āĻāĻžāĻāĻĒ āĻā§āύā§āϰāĻŋāĻā§āϏ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ(āĻāĻŋāϤāϰ⧠āĻāĻžāĻāĻĒ āϏāĻš āϏā§āĻāϝāĻŧāĻžāϰ⧠āĻŦā§āϰāĻžāĻā§āĻ āĻĻāĻŋāϝāĻŧā§):
+
+ * `list`
+ * `tuple`
+ * `set`
+ * `dict`
+
+ āĻāĻŦāĻ Python 3.8 āĻāϰ āĻŽāϤā§āĻ, `typing` āĻŽāĻĄāĻŋāĻāϞ āĻĨā§āĻā§:
+
+ * `Union`
+ * `Optional`
+ * ...āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝāĨ¤
+
+=== "Python 3.8+"
+
+ * `List`
+ * `Tuple`
+ * `Set`
+ * `Dict`
+ * `Union`
+ * `Optional`
+ * ...āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝāĨ¤
+
+### āĻā§āϞāĻžāϏ āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻāĻĒāϏ
+
+āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻāĻžāĻāĻĒ āĻšāĻŋāϏā§āĻŦā§ āĻāĻāĻāĻŋ āĻā§āϞāĻžāϏ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+āϧāϰā§āύ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ `Person` āύāĻžāĻŽā§ āĻāĻāĻāĻŋ āĻā§āϞāĻžāϏ āĻāĻā§, āϝāĻžāϰ āĻāĻāĻāĻŋ āύāĻžāĻŽ āĻāĻā§:
+
+```Python hl_lines="1-3"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§ `Person` āĻāĻžāĻāĻĒā§āϰ āĻšāĻŋāϏā§āĻŦā§ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
+
+```Python hl_lines="6"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ, āĻāĻŦāĻžāϰ, āĻāĻĒāύāĻŋ āĻāĻĄāĻŋāĻāϰ āϏāĻžāĻĒā§āϰā§āĻ āĻĒā§āϝāĻŧā§ āϝāĻžāĻŦā§āύ:
+
+<img src="/img/python-types/image06.png">
+
+āϞāĻā§āώā§āϝ āĻāϰā§āύ āϝ⧠āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ "`one_person` āĻšāϞ āĻā§āϞāĻžāϏ `Person`-āĻāϰ āĻāĻāĻāĻŋ **āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ**āĨ¤"
+
+āĻāϰ āĻŽāĻžāύ⧠āĻāĻāĻŋ āύāϝāĻŧ āϝ⧠"`one_person` āĻšāϞ **āĻā§āϞāĻžāϏ** āϝāĻžāĻā§ āĻŦāϞāĻž āĻšāϝāĻŧ `Person`āĨ¤"
+
+## Pydantic āĻŽāĻĄā§āϞ
+
+[Pydantic](https://docs.pydantic.dev/) āĻšāϞ āĻāĻāĻāĻŋ Python āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝāĻž āĻĄāĻžāĻāĻž āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰā§āĨ¤
+
+āĻāĻĒāύāĻŋ āĻĄāĻžāĻāĻžāϰ "āĻāĻāĻžāϰ" āĻāĻā§āϰāĻŋāĻŦāĻŋāĻāĻ āϏāĻš āĻā§āϞāĻžāϏ āĻšāĻŋāϏā§āĻŦā§ āĻā§āώāĻŖāĻž āĻāϰā§āύāĨ¤
+
+āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻā§āϰāĻŋāĻŦāĻŋāĻāĻ āĻāϰ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āĻĨāĻžāĻā§āĨ¤
+
+āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻŋāĻā§ āĻŽāĻžāύ āĻĻāĻŋāϝāĻŧā§ āϏā§āĻ āĻā§āϞāĻžāϏā§āϰ āĻāĻāĻāĻŋ āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ āϤā§āϰāĻŋ āĻāϰā§āύ-- āĻāĻāĻŋ āĻŽāĻžāύāĻā§āϞāĻŋāĻā§ āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻ āĻāϰāĻŦā§, āĻĒā§āϰāϝāĻŧā§āĻāύ āĻ
āύā§āϝāĻžāϝāĻŧā§ āϤāĻžāĻĻā§āϰāĻā§ āĻāĻĒāϝā§āĻā§āϤ āĻāĻžāĻāĻĒā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāĻŦā§ āĻāĻŦāĻ āĻāĻĒāύāĻžāĻā§ āϏāĻŽāϏā§āϤ āĻĄāĻžāĻāĻž āϏāĻš āĻāĻāĻāĻŋ āĻ
āĻŦāĻā§āĻā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻŦā§āĨ¤
+
+āĻāĻŦāĻ āĻāĻĒāύāĻŋ āϏā§āĻ āĻĢāϞāĻžāĻĢāϞ āĻ
āĻŦāĻā§āĻā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻĄāĻŋāĻāϰ āϏāĻžāĻĒā§āϰā§āĻ āĻĒāĻžāĻŦā§āύāĨ¤
+
+āĻ
āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ Pydantic āĻĄāĻā§āϏ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ:
+
+=== "Python 3.10+"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011_py310.py!}
+ ```
+
+=== "Python 3.9+"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011_py39.py!}
+ ```
+
+=== "Python 3.8+"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011.py!}
+ ```
+
+!!! Info
+ [Pydantic āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āĻāĻžāύāϤā§, āĻāϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĻā§āĻā§āύ](https://docs.pydantic.dev/)āĨ¤
+
+**FastAPI** āĻŽā§āϞāϤ Pydantic-āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻŽāĻŋāϤāĨ¤
+
+āĻāĻĒāύāĻŋ āĻāĻ āϏāĻŽāϏā§āϤ āĻāĻŋāĻā§āϰ āĻ
āύā§āĻ āĻŦāĻžāϏā§āϤāĻŦāϏāĻŽā§āĻŽāϤ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĒāĻžāĻŦā§āύ [āĻāĻŋāĻāĻā§āϰāĻŋāϝāĻŧāĻžāϞ - āĻāĻāĻāĻžāϰ āĻāĻžāĻāĻĄā§](https://fastapi.tiangolo.com/tutorial/)āĨ¤
+
+!!! Tip
+ āϝāĻāύ āĻāĻĒāύāĻŋ `Optional` āĻŦāĻž `Union[Something, None]` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĻāĻŦāĻ āĻā§āύ⧠āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύ āύāĻž āĻĨāĻžāĻā§, Pydantic-āĻāϰ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āĻāĻāϰāĻŖ āϰāϝāĻŧā§āĻā§, āĻāĻĒāύāĻŋ Pydantic āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ⧠[Required Optional fields](https://docs.pydantic.dev/latest/concepts/models/#required-optional-fields) āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āĻĒāĻĄāĻŧāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+## āĻŽā§āĻāĻžāĻĄāĻžāĻāĻž āĻ
ā§āϝāĻžāύā§āĻā§āĻļāύ āϏāĻš āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāϏ
+
+Python-āĻ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻĢāĻŋāĻāĻžāϰ āĻāĻā§ āϝāĻž `Annotated` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāĻā§āϞāĻŋāϤ⧠**āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻŽā§āĻāĻžāĻĄāĻžāĻāĻž** āϰāĻžāĻāϤ⧠āĻĻā§āϝāĻŧāĨ¤
+
+=== "Python 3.9+"
+
+ Python 3.9-āĻ, `Annotated` āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϤ⧠āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ, āϤāĻžāĻ āĻāĻĒāύāĻŋ āĻāĻāĻŋ `typing` āĻĨā§āĻā§ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial013_py39.py!}
+ ```
+
+=== "Python 3.8+"
+
+ Python 3.9-āĻāϰ āύā§āĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϤā§, āĻāĻĒāύāĻŋ `Annotated`-āĻā§ `typing_extensions` āĻĨā§āĻā§ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰā§āύāĨ¤
+
+ āĻāĻāĻŋ **FastAPI** āĻāϰ āϏāĻžāĻĨā§ āĻāϤāĻŋāĻŽāĻĻā§āϧ⧠āĻāύāϏā§āĻāϞ āĻšāϝāĻŧā§ āĻĨāĻžāĻāĻŦā§āĨ¤
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial013.py!}
+ ```
+
+Python āύāĻŋāĻā§ āĻāĻ `Annotated` āĻĻāĻŋāϝāĻŧā§ āĻāĻŋāĻā§āĻ āĻāϰ⧠āύāĻžāĨ¤ āĻāĻŦāĻ āĻāĻĄāĻŋāĻāϰ āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝ āĻā§āϞāĻā§āϞāĻŋāϰ āĻāύā§āϝ, āĻāĻžāĻāĻĒāĻāĻŋ āĻāĻāύāĻ `str`āĨ¤
+
+āĻāĻŋāύā§āϤ⧠āĻāĻĒāύāĻŋ āĻāĻ `Annotated` āĻāϰ āĻŽāϧā§āϝāĻāĻžāϰ āĻāĻžāϝāĻŧāĻāĻžāĻāĻŋāϰ āĻŽāϧā§āϝ⧠**FastAPI**-āĻ āĻā§āĻāĻžāĻŦā§ āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻāϰāĻŖ āĻāϰā§āĻ āϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻŽā§āĻāĻžāĻĄāĻžāĻāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
+
+āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āϝ⧠**āĻĒā§āϰāĻĨāĻŽ *āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ*** āĻāĻĒāύāĻŋ `Annotated`-āĻ āĻĒāĻžāϏ āĻāϰā§āύ āϏā§āĻāĻŋ āĻšāϞ **āĻāϏāϞ āĻāĻžāĻāĻĒ**āĨ¤ āĻŦāĻžāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ
āύā§āϝāĻžāύā§āϝ āĻā§āϞāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻŽā§āĻāĻžāĻĄāĻžāĻāĻžāĨ¤
+
+āĻāĻāύ āĻāĻĒāύāĻžāϰ āĻā§āĻŦāϞ āĻāĻžāύāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ āϝ⧠`Annotated` āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āĻāĻŦāĻ āĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ PythonāĨ¤ đ
+
+āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻāĻĒāύāĻŋ āĻĻā§āĻāĻŦā§āύ āĻāĻāĻŋ āĻāϤāĻāĻž **āĻļāĻā§āϤāĻŋāĻļāĻžāϞā§** āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
+
+!!! Tip
+ āĻāĻāĻŋ **āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ Python** āĻšāĻāϝāĻŧāĻžāϰ āĻŽāĻžāύ⧠āĻšāϞ āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻĄāĻŋāĻāϰā§, āĻāĻĒāύāĻŋ āϝ⧠āĻā§āϞāĻā§āϞāĻŋ āĻā§āĻĄ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāĻŦāĻ āϰāĻŋāĻĢā§āϝāĻžāĻā§āĻāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āϤāĻžāϤ⧠**āϏā§āϰāĻž āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻĄā§āĻā§āϞāĻĒāĻžāϰ āĻāĻā§āϏāĻĒā§āϰāĻŋāϝāĻŧā§āύā§āϏ** āĻĒāĻžāĻŦā§āύāĨ¤ â¨
+
+ āĻāĻŦāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻĒāύāĻžāϰ āĻā§āĻĄ āĻ
āύā§āϝāĻžāύā§āϝ āĻ
āύā§āĻ Python āĻā§āϞ āĻāĻŦāĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻā§āĻŦ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ āĻšāĻŦā§āĨ¤ đ
+
+## **FastAPI**-āĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāϏ
+
+**FastAPI** āĻāĻ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻŋāύāĻŋāϏ āĻāϰā§āĨ¤
+
+**FastAPI**-āĻ āĻāĻĒāύāĻŋ āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻāĻā§āϞāĻŋ āϏāĻš āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻā§āώāĻŖāĻž āĻāϰā§āύ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻĒāĻžāύ:
+
+* **āĻāĻĄāĻŋāĻāϰ āϏāĻžāĻĒā§āϰā§āĻ**āĨ¤
+* **āĻāĻžāĻāĻĒāĻā§āĻ**āĨ¤
+
+...āĻāĻŦāĻ **FastAPI** āĻāĻāĻ āĻā§āώāĻŖāĻžāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§:
+
+* **āϰāĻŋāĻā§āĻāϰā§āĻŽā§āύā§āĻāϏ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§**: āϰāĻŋāĻā§āϝāĻŧā§āϏā§āĻ āĻĒāĻžāĻĨ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ, āĻā§āϝāĻŧā§āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ, āĻšā§āĻĄāĻžāϰ, āĻŦāĻĄāĻŋ, āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋāϏ, āĻāϤā§āϝāĻžāĻĻāĻŋ āĻĨā§āĻā§āĨ¤
+* **āĻĄā§āĻāĻž āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰā§**: āϰāĻŋāĻā§āϝāĻŧā§āϏā§āĻ āĻĨā§āĻā§ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāĻāĻĒā§ āĻĄā§āĻāĻžāĨ¤
+* **āĻĄā§āĻāĻž āϝāĻžāĻāĻžāĻ āĻāϰā§**: āĻĒā§āϰāϤāĻŋāĻāĻŋ āϰāĻŋāĻā§āϝāĻŧā§āϏā§āĻ āĻĨā§āĻā§ āĻāϏāĻž āĻĄā§āĻāĻž:
+ * āϝāĻāύ āĻĄā§āĻāĻž āĻ
āĻŦā§āϧ āĻšāϝāĻŧ āϤāĻāύ **āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āϤā§āϰā§āĻāĻŋ** āĻā§āϰāĻžāĻšāĻā§āϰ āĻāĻžāĻā§ āĻĢā§āϰāϤ āĻĒāĻžāĻ āĻžāύā§āĨ¤
+* **API āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰā§**: OpenAPI āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§:
+ * āϝāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāύā§āĻāĻžāϰâā§āϝāĻžāĻā§āĻāĻŋāĻ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻāĻāĻžāϰ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤
+
+āĻāĻ āϏāĻŦ āĻāĻŋāĻā§ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻ
āϏā§āĻĒāώā§āĻ āĻŽāύ⧠āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāύā§āϤāĻž āĻāϰāĻŦā§āύ āύāĻžāĨ¤ āĻāĻĒāύāĻŋ [āĻāĻŋāĻāĻā§āϰāĻŋāϝāĻŧāĻžāϞ - āĻāĻāĻāĻžāϰ āĻāĻžāĻāĻĄ](https://fastapi.tiangolo.com/tutorial/) āĻ āĻāĻ āϏāĻŦ āĻāĻŋāĻā§ āĻĒā§āϰā§āϝāĻžāĻāĻāĻŋāϏ⧠āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦā§āύāĨ¤
+
+āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ Python āĻāĻžāĻāĻĒāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻŦā§ āĻāϰāĻ āĻŦā§āĻļāĻŋ āĻā§āϞāĻžāϏ, āĻĄā§āĻā§āϰā§āĻāϰ āĻāϤā§āϝāĻžāĻĻāĻŋ āϝā§āĻ āύāĻž āĻāϰā§āĻ āĻāĻāĻ āϏā§āĻĨāĻžāύ⧠**FastAPI** āĻāĻĒāύāĻžāϰ āĻ
āύā§āĻ āĻāĻžāĻ āĻāϰ⧠āĻĻāĻŋāĻŦā§āĨ¤
+
+!!! Info
+ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻŋāĻāĻā§āϰāĻŋāϝāĻŧāĻžāϞā§āϰ āϏāĻŽāϏā§āϤ āĻŦāĻŋāώāϝāĻŧ āĻĒāĻĄāĻŧā§ āĻĢā§āϞ⧠āĻĨāĻžāĻā§āύ āĻāĻŦāĻ āĻāĻžāĻāĻĒ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āĻāĻžāύāϤ⧠āĻāĻžāύ, āϤāĻŦā§ āĻāĻāĻāĻŋ āĻāĻžāϞ⧠āϰāĻŋāϏā§āϰā§āϏ āĻšāϞ [mypy āĻāϰ "cheat sheet"](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html)āĨ¤ āĻāĻ "cheat sheet" āĻ āĻāĻĒāύāĻŋ Python āĻāĻžāĻāĻĒ āĻšāĻŋāύā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦā§āϏāĻŋāĻ āĻĨā§āĻā§ āĻāύā§āύāϤ āϞā§āĻā§āϞā§āϰ āϧāĻžāϰāĻŖāĻž āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύ, āϝāĻž āĻāĻĒāύāĻžāϰ āĻā§āĻĄā§ āĻāĻžāĻāĻĒ āϏā§āĻĢāĻāĻŋ āĻāĻŦāĻ āϏā§āĻĒāώā§āĻāϤāĻž āĻŦāĻžāĻĄāĻŧāĻžāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻŦā§āĨ¤