mirror of https://github.com/tiangolo/fastapi.git
đ Add Bengali translations for `docs/bn/docs/python-types.md` (#11376)
This commit is contained in:
parent
9490491595
commit
2e55203879
|
|
@ -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âĻ
Reference in New Issue