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