Browse Source

🌐 Add Bengali translations for `docs/bn/docs/python-types.md` (#11376)

pull/11403/head
Sk Imtiaz Ahmed 1 year ago
committed by GitHub
parent
commit
2e55203879
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 537
      docs/bn/docs/python-types.md

537
docs/bn/docs/python-types.md

@ -0,0 +1,537 @@
# āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻāĻ° <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 āĻŸāĻžāĻ‡āĻĒ āĻšāĻŋāĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦā§‡āĻ¸āĻŋāĻ• āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ˛ā§‡āĻ­ā§‡āĻ˛ā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ¸ā§‡āĻĢāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡āĨ¤
Loadingâ€Ļ
Cancel
Save