From 374cdf29a93b0aeffe085b18c7c0ae309e9d80c8 Mon Sep 17 00:00:00 2001
From: Xie Wei <39515546+waynerv@users.noreply.github.com>
Date: Sun, 24 May 2020 13:43:26 +0800
Subject: [PATCH] =?utf8?q?=F0=9F=8C=90=20Add=20Chinese=20translation=20for?=
=?utf8?q?=20docs/python-types.md=20(#1197)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
* Add Chinese tranlation for docs/python-types.md
* improve translation
---
docs/zh/docs/python-types.md | 286 +++++++++++++++++++++++++++++++++++
docs/zh/mkdocs.yml | 1 +
2 files changed, 287 insertions(+)
create mode 100644 docs/zh/docs/python-types.md
diff --git a/docs/zh/docs/python-types.md b/docs/zh/docs/python-types.md
new file mode 100644
index 0000000000..0c9e9db470
--- /dev/null
+++ b/docs/zh/docs/python-types.md
@@ -0,0 +1,286 @@
+# Python ç±»åæç¤ºç®ä»
+
+**Python 3.6+ çæ¬**å å
¥äºå¯¹"ç±»åæç¤º"çæ¯æã
+
+è¿äº**"ç±»åæç¤º"**æ¯ä¸ç§æ°çè¯æ³ï¼å¨ Python 3.6 çæ¬å å
¥ï¼ç¨æ¥å£°æä¸ä¸ªåéçç±»åã
+
+éè¿å£°æåéçç±»åï¼ç¼è¾å¨åä¸äºå·¥å
·è½ç»ä½ æä¾æ´å¥½çæ¯æã
+
+è¿åªæ¯ä¸ä¸ªå
³äº Python ç±»åæç¤ºç**å¿«éå
¥é¨ / å¤ä¹ **ãå®ä»
æ¶µçä¸ **FastAPI** ä¸èµ·ä½¿ç¨æéçæå°é¨å...å®é
ä¸åªæå¾å°ä¸ç¹ã
+
+æ´ä¸ª **FastAPI** é½åºäºè¿äºç±»åæç¤ºæå»ºï¼å®ä»¬å¸¦æ¥äºè®¸å¤ä¼ç¹å好å¤ã
+
+ä½å³ä½¿ä½ ä¸ä¼ç¨å° **FastAPI**ï¼äºè§£ä¸ä¸ç±»åæç¤ºä¹ä¼è®©ä½ ä»ä¸åçã
+
+!!! note
+ å¦æä½ å·²ç»ç²¾é Pythonï¼å¹¶ä¸äºè§£å
³äºç±»åæç¤ºçä¸åç¥è¯ï¼ç´æ¥è·³å°ä¸ä¸ç« èå§ã
+
+## 卿º
+
+让æä»¬ä»ä¸ä¸ªç®åçä¾åå¼å§ï¼
+
+```Python
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+è¿è¡è¿æ®µç¨åºå°è¾åºï¼
+
+```
+John Doe
+```
+
+è¿ä¸ªå½æ°åäºä¸é¢è¿äºäºæ
ï¼
+
+* æ¥æ¶ `first_name` å `last_name` åæ°ã
+* éè¿ `title()` å°æ¯ä¸ªåæ°ç第ä¸ä¸ªåæ¯è½¬æ¢ä¸ºå¤§åå½¢å¼ã
+* ä¸é´ç¨ä¸ä¸ªç©ºæ ¼æ¥æ¼æ¥å®ä»¬ã
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+### ä¿®æ¹ç¤ºä¾
+
+è¿æ¯ä¸ä¸ªé常ç®åçç¨åºã
+
+ç°å¨åè®¾ä½ å°ä»å¤´å¼å§ç¼åè¿æ®µç¨åºã
+
+卿䏿¶å»ï¼ä½ å¼å§å®ä¹å½æ°ï¼å¹¶ä¸åå¤å¥½äºåæ°...ã
+
+ç°å¨ä½ éè¦è°ç¨ä¸ä¸ª"å°ç¬¬ä¸ä¸ªåæ¯è½¬æ¢ä¸ºå¤§åå½¢å¼çæ¹æ³"ã
+
+ççï¼é£ä¸ªæ¹æ³æ¯ä»ä¹æ¥çï¼`upper`ï¼è¿æ¯ `uppercase`ï¼`first_uppercase`ï¼`capitalize`ï¼
+
+ç¶åä½ å°è¯åç¨åºåèæçæåââç¼è¾å¨èªå¨è¡¥å
¨å¯»æ±å¸®å©ã
+
+è¾å
¥å½æ°ç第ä¸ä¸ªåæ° `first_name`ï¼è¾å
¥ç¹å·ï¼`.`ï¼ç¶åæ²ä¸ `Ctrl+Space` æ¥è§¦å代ç è¡¥å
¨ã
+
+ä½éæ¾çæ¯å¹¶æ²¡æèµ·ä»ä¹ä½ç¨ï¼
+
+
+
+### æ·»å ç±»å
+
+让æä»¬æ¥ä¿®æ¹ä¸é¢ä¾åçä¸è¡ä»£ç ã
+
+æä»¬å°æä¸é¢è¿æ®µä»£ç ä¸ç彿°åæ°ä»ï¼
+
+```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` 触åèªå¨è¡¥å
¨ï¼ä½ ä¼åç°ï¼
+
+
+
+è¿æ ·ï¼ä½ å¯ä»¥æ»å¨æ¥çé项ï¼ç´å°ä½ æ¾å°çèµ·æ¥ç¼ççé£ä¸ªï¼
+
+
+
+## æ´å¤å¨æº
+
+ä¸é¢æ¯ä¸ä¸ªå·²ç»æç±»åæç¤ºç彿°ï¼
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial003.py!}
+```
+
+å 为ç¼è¾å¨å·²ç»ç¥éäºè¿äºåéçç±»åï¼æä»¥ä¸ä»
è½å¯¹ä»£ç è¿è¡è¡¥å
¨ï¼è¿è½æ£æ¥å
¶ä¸çé误ï¼
+
+
+
+ç°å¨ä½ ç¥éäºå¿
é¡»å
ä¿®å¤è¿ä¸ªé®é¢ï¼éè¿ `str(age)` æ `age` è½¬æ¢æå符串ï¼
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial004.py!}
+```
+
+## 声æç±»å
+
+ä½ ååçå°çå°±æ¯å£°æç±»åæç¤ºç主è¦åºæ¯ãç¨äºå½æ°çåæ°ã
+
+è¿ä¹æ¯ä½ å°å¨ **FastAPI** ä¸ä½¿ç¨å®ä»¬ç主è¦åºæ¯ã
+
+### ç®åç±»å
+
+ä¸åªæ¯ `str`ï¼ä½ è½å¤å£°æææçæ å Python ç±»åã
+
+æ¯å¦ä»¥ä¸ç±»åï¼
+
+* `int`
+* `float`
+* `bool`
+* `bytes`
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial005.py!}
+```
+
+### åµå¥ç±»å
+
+æäºå®¹å¨æ°æ®ç»æå¯ä»¥å
å«å
¶ä»çå¼ï¼æ¯å¦ `dict`ã`list`ã`set` å `tuple`ãå®ä»¬å
é¨çå¼ä¹ä¼æ¥æèªå·±çç±»åã
+
+ä½ å¯ä»¥ä½¿ç¨ Python ç `typing` æ ååºæ¥å£°æè¿äºç±»å以ååç±»åã
+
+å®ä¸é¨ç¨æ¥æ¯æè¿äºç±»åæç¤ºã
+
+#### å表
+
+ä¾å¦ï¼è®©æä»¬æ¥å®ä¹ä¸ä¸ªç± `str` ç»æç `list` åéã
+
+ä» `typing` 模å导å
¥ `List`ï¼æ³¨ææ¯å¤§åç `L`ï¼ï¼
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial006.py!}
+```
+
+åæ ·ä»¥åå·ï¼`:`ï¼æ¥å£°æè¿ä¸ªåéã
+
+è¾å
¥ `List` ä½ä¸ºç±»åã
+
+ç±äºå表æ¯å¸¦æ"åç±»å"çç±»åï¼æä»¥æä»¬æåç±»åæ¾å¨æ¹æ¬å·ä¸ï¼
+
+```Python hl_lines="4"
+{!../../../docs_src/python_types/tutorial006.py!}
+```
+
+è¿è¡¨ç¤ºï¼"åé `items` æ¯ä¸ä¸ª `list`ï¼å¹¶ä¸è¿ä¸ªå表éçæ¯ä¸ä¸ªå
ç´ é½æ¯ `str`"ã
+
+è¿æ ·ï¼å³ä½¿å¨å¤çå表ä¸çå
ç´ æ¶ï¼ä½ çç¼è¾å¨ä¹å¯ä»¥æä¾æ¯æã
+
+没æç±»åï¼å 乿¯ä¸å¯è½å®ç°ä¸é¢è¿æ ·ï¼
+
+
+
+注æï¼åé `item` æ¯å表 `items` ä¸çå
ç´ ä¹ä¸ã
+
+èä¸ï¼ç¼è¾å¨ä»ç¶ç¥é宿¯ä¸ä¸ª `str`ï¼å¹¶ä¸ºæ¤æä¾äºæ¯æã
+
+#### å
ç»åéå
+
+声æ `tuple` å `set` çæ¹æ³ä¹æ¯ä¸æ ·çï¼
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial007.py!}
+```
+
+è¿è¡¨ç¤ºï¼
+
+* åé `items_t` æ¯ä¸ä¸ª `tuple`ï¼å
¶ä¸çæ¯ä¸ªå
ç´ é½æ¯ `int` ç±»åã
+* åé `items_s` æ¯ä¸ä¸ª `set`ï¼å
¶ä¸çæ¯ä¸ªå
ç´ é½æ¯ `bytes` ç±»åã
+
+#### åå
¸
+
+å®ä¹ `dict` æ¶ï¼éè¦ä¼ å
¥ä¸¤ä¸ªåç±»åï¼ç¨éå·è¿è¡åéã
+
+第ä¸ä¸ªåç±»å声æ `dict` çææé®ã
+
+第äºä¸ªåç±»å声æ `dict` çææå¼ï¼
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial008.py!}
+```
+
+è¿è¡¨ç¤ºï¼
+
+* åé `prices` æ¯ä¸ä¸ª `dict`ï¼
+ * è¿ä¸ª `dict` çææé®ä¸º `str` ç±»åï¼å¯ä»¥ç使¯åå
¸å
æ¯ä¸ªå
ç´ çåç§°ï¼ã
+ * è¿ä¸ª `dict` çææå¼ä¸º `float` ç±»åï¼å¯ä»¥ç使¯åå
¸å
æ¯ä¸ªå
ç´ çä»·æ ¼ï¼ã
+
+### ç±»ä½ä¸ºç±»å
+
+ä½ ä¹å¯ä»¥å°ç±»å£°æä¸ºåéçç±»åã
+
+åè®¾ä½ æä¸ä¸ªå为 `Person` çç±»ï¼æ¥æ name 屿§ï¼
+
+```Python hl_lines="1 2 3"
+{!../../../docs_src/python_types/tutorial009.py!}
+```
+
+æ¥ä¸æ¥ï¼ä½ å¯ä»¥å°ä¸ä¸ªåé声æä¸º `Person` ç±»åï¼
+
+```Python hl_lines="6"
+{!../../../docs_src/python_types/tutorial009.py!}
+```
+
+ç¶åï¼ä½ å°å次è·å¾ææçç¼è¾å¨æ¯æï¼
+
+
+
+## Pydantic 模å
+
+Pydantic æ¯ä¸ä¸ªç¨æ¥ç¨æ¥æ§è¡æ°æ®æ ¡éªç Python åºã
+
+ä½ å¯ä»¥å°æ°æ®ç"ç»æ"声æä¸ºå
·æå±æ§çç±»ã
+
+æ¯ä¸ªå±æ§é½æ¥æç±»åã
+
+æ¥çä½ ç¨ä¸äºå¼æ¥å建è¿ä¸ªç±»çå®ä¾ï¼è¿äºå¼ä¼è¢«æ ¡éªï¼å¹¶è¢«è½¬æ¢ä¸ºéå½çç±»åï¼å¨éè¦çæ
åµä¸ï¼ï¼è¿åä¸ä¸ªå
å«æææ°æ®ç对象ã
+
+ç¶åï¼ä½ å°è·å¾è¿ä¸ªå¯¹è±¡çææç¼è¾å¨æ¯æã
+
+ä¸é¢çä¾åæ¥èª Pydantic 宿¹ææ¡£ï¼
+
+```Python
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+!!! info
+ æ³è¿ä¸æ¥äºè§£ Pydanticï¼è¯·é
读å
¶ææ¡£.
+
+æ´ä¸ª **FastAPI** 建ç«å¨ Pydantic çåºç¡ä¹ä¸ã
+
+å®é
ä¸ä½ å°å¨ [æç¨ - ç¨æ·æå](tutorial/index.md){.internal-link target=_blank} çå°å¾å¤è¿ç§æ
åµã
+
+## **FastAPI** ä¸çç±»åæç¤º
+
+**FastAPI** å©ç¨è¿äºç±»åæç¤ºæ¥åä¸é¢å ä»¶äºã
+
+ä½¿ç¨ **FastAPI** æ¶ç¨ç±»åæç¤ºå£°æåæ°å¯ä»¥è·å¾ï¼
+
+* **ç¼è¾å¨æ¯æ**ã
+* **ç±»åæ£æ¥**ã
+
+...å¹¶ä¸ **FastAPI** è¿ä¼ç¨è¿äºç±»åå£°ææ¥ï¼
+
+* **å®ä¹åæ°è¦æ±**ï¼å£°æå¯¹è¯·æ±è·¯å¾åæ°ãæ¥è¯¢åæ°ã请æ±å¤´ã请æ±ä½ãä¾èµççè¦æ±ã
+* **è½¬æ¢æ°æ®**ï¼å°æ¥èªè¯·æ±çæ°æ®è½¬æ¢ä¸ºéè¦çç±»åã
+* **æ ¡éªæ°æ®**ï¼ å¯¹äºæ¯ä¸ä¸ªè¯·æ±ï¼
+ * 彿°æ®æ ¡éªå¤±è´¥æ¶èªå¨çæ**é误信æ¯**è¿åç»å®¢æ·ç«¯ã
+* ä½¿ç¨ OpenAPI **è®°å½** APIï¼
+ * ç¶åç¨äºèªå¨çæäº¤äºå¼ææ¡£çç¨æ·çé¢ã
+
+å¬ä¸å»æç¹æ½è±¡ãä¸è¿ä¸ç¨æ
å¿ãä½ å°å¨ [æç¨ - ç¨æ·æå](tutorial/index.md){.internal-link target=_blank} ä¸çå°ææç宿ã
+
+æéè¦çæ¯ï¼éè¿ä½¿ç¨æ åç Python ç±»åï¼åªéè¦å¨ä¸ä¸ªå°æ¹å£°æï¼è䏿¯æ·»å æ´å¤çç±»ãè£
饰å¨çï¼ï¼**FastAPI** ä¼ä¸ºä½ 宿å¾å¤çå·¥ä½ã
+
+!!! info
+ å¦æä½ å·²ç»é
è¯»äºæææç¨ï¼åè¿å¤´æ¥æ³äºè§£æå
³ç±»åçæ´å¤ä¿¡æ¯ï¼æ¥èª `mypy` ç"éæ¥è¡¨"æ¯ä¸éçèµæºã
diff --git a/docs/zh/mkdocs.yml b/docs/zh/mkdocs.yml
index 4f54107509..75a7e97076 100644
--- a/docs/zh/mkdocs.yml
+++ b/docs/zh/mkdocs.yml
@@ -25,6 +25,7 @@ nav:
- pt: /pt/
- zh: /zh/
- features.md
+- python-types.md
- æç¨ - ç¨æ·æå:
- tutorial/index.md
- deployment.md
--
2.47.3