Files
fastapi/docs/hi/docs/tutorial/path-params.md
T
452e526877 ЁЯМР Update translations for hi (update-outdated) (#16212)
Co-authored-by: pr-submit[bot] <pr-submit[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: pr-push[bot] <pr-push[bot]@users.noreply.github.com>
2026-08-19 10:58:07 +02:00

14 KiB

Path Parameters

рдЖрдк Python format strings рджреНрд╡рд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди syntax рдХреЗ рд╕рд╛рде path "parameters" рдпрд╛ "variables" declare рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

{* ../../docs_src/path_params/tutorial001_py310.py hl[6:7] *}

path parameter item_id рдХреА value рдЖрдкрдХреЗ function рдХреЛ argument item_id рдХреЗ рд░реВрдк рдореЗрдВ pass рдХреА рдЬрд╛рдПрдЧреАред

рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдЖрдк рдпрд╣ example run рдХрд░рддреЗ рд╣реИрдВ рдФрд░ http://127.0.0.1:8000/items/foo рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ response рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

{"item_id":"foo"}

Types рдХреЗ рд╕рд╛рде Path parameters

рдЖрдк standard Python type annotations рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ function рдореЗрдВ рдХрд┐рд╕реА path parameter рдХрд╛ type declare рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

{* ../../docs_src/path_params/tutorial002_py310.py hl[7] *}

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, item_id рдХреЛ int declare рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

/// tip | рд╕реБрдЭрд╛рд╡

рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ function рдХреЗ рдЕрдВрджрд░ editor support рдорд┐рд▓реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ error checks, completion рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

///

Data conversion

рдЕрдЧрд░ рдЖрдк рдпрд╣ example run рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ browser рдореЗрдВ http://127.0.0.1:8000/items/3 рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ response рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

{"item_id":3}

/// tip | рд╕реБрдЭрд╛рд╡

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ function рдиреЗ рдЬреЛ value рдкреНрд░рд╛рдкреНрдд рдХреА (рдФрд░ return рдХреА) рд╡рд╣ 3 рд╣реИ, Python int рдХреЗ рд░реВрдк рдореЗрдВ, рди рдХрд┐ string "3"ред

рддреЛ, рдЙрд╕ type declaration рдХреЗ рд╕рд╛рде, FastAPI рдЖрдкрдХреЛ automatic request "parsing" рджреЗрддрд╛ рд╣реИред

///

Data validation

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк browser рдореЗрдВ http://127.0.0.1:8000/items/foo рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдЕрдЪреНрдЫрд╛ HTTP error рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

{
  "detail": [
    {
      "type": "int_parsing",
      "loc": [
        "path",
        "item_id"
      ],
      "msg": "Input should be a valid integer, unable to parse string as an integer",
      "input": "foo"
    }
  ]
}

рдХреНрдпреЛрдВрдХрд┐ path parameter item_id рдХреА value "foo" рдереА, рдЬреЛ рдХрд┐ int рдирд╣реАрдВ рд╣реИред

рдЕрдЧрд░ рдЖрдкрдиреЗ int рдХреЗ рдмрдЬрд╛рдп float рджрд┐рдпрд╛, рддреЛ рднреА рд╡рд╣реА error рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬреИрд╕реЗ: http://127.0.0.1:8000/items/4.2

/// tip | рд╕реБрдЭрд╛рд╡

рддреЛ, рдЙрд╕реА Python type declaration рдХреЗ рд╕рд╛рде, FastAPI рдЖрдкрдХреЛ data validation рджреЗрддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ error рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ validation рдХрд┐рд╕ рдЬрдЧрд╣ pass рдирд╣реАрдВ рд╣реБрдЖред

рдпрд╣ рдЖрдкрдХреЗ API рдХреЗ рд╕рд╛рде interact рдХрд░рдиреЗ рд╡рд╛рд▓реЗ code рдХреЛ develop рдФрд░ debug рдХрд░рддреЗ рд╕рдордп рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рд╣реЛрддрд╛ рд╣реИред

///

Documentation

рдФрд░ рдЬрдм рдЖрдк рдЕрдкрдиреЗ browser рдореЗрдВ http://127.0.0.1:8000/docs рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ automatic, interactive, API documentation рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

/// tip | рд╕реБрдЭрд╛рд╡

рдлрд┐рд░ рд╕реЗ, рдмрд╕ рдЙрд╕реА Python type declaration рдХреЗ рд╕рд╛рде, FastAPI рдЖрдкрдХреЛ automatic, interactive documentation рджреЗрддрд╛ рд╣реИ (Swagger UI рдХреЛ integrate рдХрд░рддреЗ рд╣реБрдП)ред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ path parameter рдХреЛ integer рдХреЗ рд░реВрдк рдореЗрдВ declare рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

///

Standard-рдЖрдзрд╛рд░рд┐рдд рд▓рд╛рдн, рд╡реИрдХрд▓реНрдкрд┐рдХ documentation

рдФрд░ рдХреНрдпреЛрдВрдХрд┐ generate рдХрд┐рдпрд╛ рдЧрдпрд╛ schema OpenAPI standard рд╕реЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдИ compatible tools рд╣реИрдВред

рдЗрд╕реА рд╡рдЬрд╣ рд╕реЗ, FastAPI рд╕реНрд╡рдпрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ API documentation рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (ReDoc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП), рдЬрд┐рд╕реЗ рдЖрдк http://127.0.0.1:8000/redoc рдкрд░ access рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЗрд╕реА рддрд░рд╣, рдХрдИ compatible tools рд╣реИрдВред рдЗрдирдореЗрдВ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП code generation tools рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

Pydantic

рд╕рд╛рд░рд╛ data validation рдЕрдВрджрд░реВрдиреА рддреМрд░ рдкрд░ Pydantic рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рднреА рд▓рд╛рдн рдорд┐рд▓рддреЗ рд╣реИрдВред рдФрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдЪреНрдЫреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣реИрдВред

рдЖрдк str, float, bool рдФрд░ рдХрдИ рдЕрдиреНрдп рдЬрдЯрд┐рд▓ data types рдХреЗ рд╕рд╛рде рд╡рд╣реА type declarations рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ tutorial рдХреЗ рдЕрдЧрд▓реЗ chapters рдореЗрдВ explore рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреНрд░рдо рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ

path operations рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ fixed path рд╣реЛред

рдЬреИрд╕реЗ /users/me, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ current user рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ data рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЗ рдкрд╛рд╕ /users/{user_id} path рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХрд┐рд╕реА specific user рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА user ID рд╕реЗ data рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреНрдпреЛрдВрдХрд┐ path operations рдХрд╛ evaluation рдХреНрд░рдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ /users/me рдХреЗ рд▓рд┐рдП path, /users/{user_id} рд╡рд╛рд▓реЗ path рд╕реЗ рдкрд╣рд▓реЗ declare рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ:

{* ../../docs_src/path_params/tutorial003_py310.py hl[6,11] *}

рдЕрдиреНрдпрдерд╛, /users/{user_id} рдХреЗ рд▓рд┐рдП path /users/me рд╕реЗ рднреА match рдХрд░реЗрдЧрд╛, рдпрд╣ "рд╕реЛрдЪрддреЗ рд╣реБрдП" рдХрд┐ рдЙрд╕реЗ user_id parameter рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреА value "me" рд╣реИред

рдЗрд╕реА рддрд░рд╣, рдЖрдк рдХрд┐рд╕реА path operation рдХреЛ рдлрд┐рд░ рд╕реЗ define рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ:

{* ../../docs_src/path_params/tutorial003b_py310.py hl[6,11] *}

рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ рд╣рдореЗрд╢рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ path рдкрд╣рд▓реЗ match рдХрд░рддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рд╕реЗ рддрдп values

рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ path operation рд╣реИ рдЬреЛ рдПрдХ path parameter рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрднрд╡ valid path parameter values рдкрд╣рд▓реЗ рд╕реЗ рддрдп рд╣реЛрдВ, рддреЛ рдЖрдк standard Python Enum рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ Enum class рдмрдирд╛рдПрдВ

Enum import рдХрд░реЗрдВ рдФрд░ рдПрдХ sub-class рдмрдирд╛рдПрдВ рдЬреЛ str рдФрд░ Enum рд╕реЗ inherit рдХрд░рддреА рд╣реЛред

str рд╕реЗ inherit рдХрд░рдиреЗ рдкрд░ API docs рдпрд╣ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ рдХрд┐ values рдХрд╛ type string рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░рд╣ рд╕реЗ render рдХрд░ рдкрд╛рдПрдВрдЧреЗред

рдлрд┐рд░ fixed values рдХреЗ рд╕рд╛рде class attributes рдмрдирд╛рдПрдВ, рдЬреЛ рдЙрдкрд▓рдмреНрдз valid values рд╣реЛрдВрдЧреА:

{* ../../docs_src/path_params/tutorial005_py310.py hl[1,6:9] *}

/// tip | рд╕реБрдЭрд╛рд╡

рдЕрдЧрд░ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, "AlexNet", "ResNet", рдФрд░ "LeNet" рдмрд╕ Machine Learning models рдХреЗ рдирд╛рдо рд╣реИрдВред

///

рдПрдХ path parameter declare рдХрд░реЗрдВ

рдлрд┐рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ enum class (ModelName) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ type annotation рдХреЗ рд╕рд╛рде рдПрдХ path parameter рдмрдирд╛рдПрдВ:

{* ../../docs_src/path_params/tutorial005_py310.py hl[16] *}

Docs рджреЗрдЦреЗрдВ

рдХреНрдпреЛрдВрдХрд┐ path parameter рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз values рдкрд╣рд▓реЗ рд╕реЗ рддрдп рд╣реИрдВ, interactive docs рдЙрдиреНрд╣реЗрдВ рдЕрдЪреНрдЫреЗ рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

Python enumerations рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛

path parameter рдХреА value рдПрдХ enumeration member рд╣реЛрдЧреАред

Enumeration members рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ

рдЖрдк рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдЕрдкрдиреЗ рдмрдирд╛рдП рд╣реБрдП enum ModelName рдореЗрдВ рдореМрдЬреВрдж enumeration member рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

{* ../../docs_src/path_params/tutorial005_py310.py hl[17] *}

Enumeration value рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЖрдк model_name.value рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ actual value (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ str) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, your_enum_member.value:

{* ../../docs_src/path_params/tutorial005_py310.py hl[20] *}

/// tip | рд╕реБрдЭрд╛рд╡

рдЖрдк ModelName.lenet.value рдХреЗ рд╕рд╛рде value "lenet" рднреА access рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

///

Enumeration members return рдХрд░реЗрдВ

рдЖрдк рдЕрдкрдиреЗ path operation рд╕реЗ enum members return рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдБ рддрдХ рдХрд┐ JSON body рдореЗрдВ nested рднреА (рдЬреИрд╕реЗ рдПрдХ dict)ред

Client рдХреЛ return рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреА рд╕рдВрдмрдВрдзрд┐рдд values (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ strings) рдореЗрдВ convert рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

{* ../../docs_src/path_params/tutorial005_py310.py hl[18,21,23] *}

рдЕрдкрдиреЗ client рдореЗрдВ рдЖрдкрдХреЛ рдРрд╕рд╛ JSON response рдорд┐рд▓реЗрдЧрд╛:

{
  "model_name": "alexnet",
  "message": "Deep Learning FTW!"
}

Paths рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ Path parameters

рдорд╛рди рд▓реЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ path /files/{file_path} рдХреЗ рд╕рд╛рде рдПрдХ path operation рд╣реИред

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ file_path рдореЗрдВ рд╕реНрд╡рдпрдВ рдПрдХ path рд░рдЦрдирд╛ рд╣реИ, рдЬреИрд╕реЗ home/johndoe/myfile.txtред

рддреЛ, рдЙрд╕ file рдХреЗ рд▓рд┐рдП URL рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрдЧрд╛: /files/home/johndoe/myfile.txtред

OpenAPI support

OpenAPI рдХрд┐рд╕реА path parameter рдХреЛ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ path рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП declare рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ support рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдРрд╕реЗ scenarios рдмрди рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ test рдФрд░ define рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛред

рдлрд┐рд░ рднреА, рдЖрдк FastAPI рдореЗрдВ Starlette рдХреЗ internal tools рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ docs рдлрд┐рд░ рднреА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рдХреЛрдИ documentation рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдмрддрд╛рдП рдХрд┐ parameter рдореЗрдВ path рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

Path convertor

Starlette рд╕реЗ рд╕реАрдзреЗ рдПрдХ option рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ URL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ path рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ path parameter declare рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

/files/{file_path:path}

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, parameter рдХрд╛ рдирд╛рдо file_path рд╣реИ, рдФрд░ рдЖрдЦрд┐рд░реА рд╣рд┐рд╕реНрд╕рд╛, :path, рдЗрд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ parameter рдХрд┐рд╕реА рднреА path рд╕реЗ match рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ, рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

{* ../../docs_src/path_params/tutorial004_py310.py hl[6] *}

/// tip | рд╕реБрдЭрд╛рд╡

рдЖрдкрдХреЛ parameter рдореЗрдВ /home/johndoe/myfile.txt рд░рдЦрдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, leading slash (/) рдХреЗ рд╕рд╛рдеред

рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, URL рд╣реЛрдЧрд╛: /files//home/johndoe/myfile.txt, files рдФрд░ home рдХреЗ рдмреАрдЪ double slash (//) рдХреЗ рд╕рд╛рдеред

///

Recap

FastAPI рдХреЗ рд╕рд╛рде, рдЫреЛрдЯреЗ, рд╕рд╣рдЬ рдФрд░ standard Python type declarations рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдкрдХреЛ рдорд┐рд▓рддрд╛ рд╣реИ:

  • Editor support: error checks, autocompletion рдЖрджрд┐ред
  • Data "parsing"
  • Data validation
  • API annotation рдФрд░ automatic documentation

рдФрд░ рдЖрдкрдХреЛ рдЗрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ declare рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ frameworks рдХреА рддреБрд▓рдирд╛ рдореЗрдВ FastAPI рдХрд╛ рд╢рд╛рдпрдж рдпрд╣реА рдореБрдЦреНрдп рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд▓рд╛рдн рд╣реИ (raw performance рдХреЗ рдЕрд▓рд╛рд╡рд╛)ред