committed by
GitHub
1 changed files with 537 additions and 0 deletions
@ -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