Python°ª®Ä½sµ{¹ê½î«ü«n(½s½X´ú¸Õ»P¶°¦¨)/Python¶}µo±q¤Jªù¨ìºë³q¨t¦C
¤º®e¤j¿û
¥»®Ñ¥ý²³æ¤¶²Ð¤F·f«Ø¶}µoÀô¹Òªº¬ÛÃöª¾ÃÑ¡AµM«á¥H¤@Ó³W½dªºPython¶µ¥Øªº¤å¥ó¥¬§½Á`Åó¥þ§½¡A«ö·Ó½s½X¡B³æ¤¸´ú¸Õ¡B¥N½XºÞ²z¡B¶°¦¨´ú¸Õ¡B¼¶¼g§Þ³N¤åÀÉ¡Bµo¥¬¦w¸Ë¥]ªº¦¸§Ç¡A³v¤@åªRPython¶}µo¤¤©Ò¯A¤Îªº³W½d©M¤u¨ã¡C®Ñ¤¤¤¶²Ð¤F°ò©ó»y¸qªºª©¥»ºÞ²z¡B¨Ì¿à¸ÑªR¡Bºc«Ø¥´¥]¡B¥N½X·®æ¡BAPI¤åÀɮ榡µ¥³W½d¡C³q¹L¤£¦P¶}µo¤u¨ã¡]ªA°È¡^¤§¶¡ªº¹ï¤ñ¡A¦VŪªÌ¤¶²Ð¤Fpoetry¡BMkDocs¡Btox¡BFlake8¡BBlack¡BGit¡BGitHub CI¡BCodecov¡BGitHubPages¡Bpre¡Ðcommit hooksµ¥²Å¦X³Ì¨Î¹ê½îªº¶}µo¤u¨ã©MªA°È¡CÀH®ÑªþÃØ¥»®Ñ®×¨Ò·½½X¡AÀò¨ú¤è¦¡¨£«Ê©³¡C
¥»®Ñ¦bÁ¿¸Ñ¤W¥»µÛª¾¨äµM¡A§ónª¾¨ä©Ò¥HµMªº¨Dª¾ºA«×¡A¤O¨DÁ¿²M·¡§Þ³Nªº¨ÓÀs¥h¯ß¡C¥ô¦óPython·R¦nªÌ³£¾A¦X¾\Ū¦¹®Ñ¡A¥B¥»®Ñ§ó¬OPythonªì¾ÇªÌ¹ê²{¦V±M·~¶}µo¤Hû½ºÅܪº±ÀÂË®ÑÄy¡A¨Ï¥Î¥»®Ñ¤¶²Ðªº³Ì¨Î¹ê½î¡A¥i¥Hºc«Ø¥X»PÀu¨q¶}·½¶µ¥Ø·B¬üªº®Ø¬[¥N½X¡A¨ÃÀò±o»P±M·~¶}µoªÌ¨ó¦P¤u§@ªº¯à¤O¡C
§@ªÌ¤¶²Ð
½sªÌ:·¨«i//·¨ªC¤§|³d½s:§õ¾åªi//¤ý®üÁø
·¨«i¡A²¦·~©óµØ¤¤¬ì§Þ¤j¾Ç¹q¸£±M·~¡AÀòºÓ¤h¾Ç¦ì¡C±q¨Æ³nÅé¶}µo©M¶q¤Æ¥æ©ö¬ã¨s¶W¤G¤Q¦~¡C´¿ªA°È©óÁͶլì§Þ¡]¤¤°ê¡^¡BIBM¡BOracle¡B¦Ê¯Ç¡]®ü³bÂsÄý¾¹¡^¡A¥ý«á¾á¥ô°ª¯Å³nÅé¬ãµo¸g²z¡B¬ãµo°ÆÁ`µô¡Cºë³q¦hºØ¶}µo»y¨¥»P¶³pºâ¬[ºc³]p¡C¦bOracle´Á¶¡¡A»â¾É¹Î¶¤»P¹q«H¥¨ÀYVerizon¦X§@¶}µo¦b½uµøÀWÂI¼½¨t²Î¡F¦b¦Ê¯Ç´Á¶¡¡A±a»â¹Î¶¤¹ê²{¦~À禬¹L»õ¡C²{±q¨Æ¶q¤Æ§ë¬ã¨t²Î¬ãµo¡A¬ãµoªº¤j´I¯Î¡]Zillionare¡^§ë¬ã¨t²Î¨ã¦³°ª©Ê¯à¡B®e¯Ç®ü¶q¼Æ¾Ú¡B§¹¥þ°ò©óPython³]p¡B³nÅé¶}µo¬yµ{©M½è¶qºÞ±±»â¥ýµ¥¯SÂI¡CÓ¤H´CÅ鸹¡u¶q¤Æ·¶³¡v¦b¥þºô¾Ö¦³¶W¹L7¸U¦W¶q¤Æ¤H¯»µ·¡C
¥Ø¿ý
§Ç¤@
§Ç¤G
«e¨¥
²Ä1³¹ ¬°¤°»òn¾ÇPython
²Ä2³¹ ºc«Ø°ª®Äªº¶}µoÀô¹Ò
2.1 ¿ï¾Üþ¤@ºØ¾Þ§@¨t²Î
2.1.1 Windows¤UªºLinuxÀô¹Ò
2.1.2 Docker¤è®×
2.1.3 µêÀÀ¾÷¤è®×
2.1.4 ¤pµ²
2.2 ¶°¦¨¶}µoÀô¹Ò
2.2.1 ¨Ï¥Îþ¤@ÓIDE¡GVS Code©ÎPyCharm
2.2.2 VS Code¤ÎÂX®i
2.3 ¨ä¥L¶}µoÀô¹Ò
2.3.1 Jupyter Notebook
2.3.2 Spyder
²Ä3³¹ ºc«ØPythonµêÀÀÀô¹Ò
3.1 ¨Ì¿à¦aº»
3.2 ¨Ï¥ÎµêÀÀÀô¹Ò°k¥X¨Ì¿à¦aº»
3.3 Python¥]¦w¸Ë¤u¨ãpip
3.4 °t¸mVS Code¤¤ªº¸ÑÄÀ¾¹
²Ä4³¹ ¶µ¥Ø¥¬§½©M¶µ¥Ø¥Í¦¨ÂQ¾É
4.1 ¼Ð·Ç¶µ¥Ø¥¬§½
4.1.1 ¤@¯ë©Ê¤åÀÉ
4.1.2 À°§U¤åÀÉ
4.1.3 API¤åÀÉ
4.1.4 ¤uµ{ºc«Ø°t¸m¤å¥ó
4.1.5 ¥N½X¥Ø¿ý
4.1.6 ³æ¤¸´ú¸Õ¤å¥ó¥Ø¿ý
4.1.7 Makefile
4.1.8 ¬ÛÃö¤u¨ãªº°t¸m¤å¥ó
4.1.9 tox°t¸m¤å¥ó
4.1.10 CI°t¸m¤å¥ó
4.1.11 code coverage°t¸m¤å¥ó
4.2 ¶µ¥Ø¥Í¦¨ÂQ¾É
4.2.1 Cookiecutter
4.2.2 Python Project Wizard
4.3 ¦p¦ó¨Ï¥Î Python Project Wizard
4.3.1 ¦w¸ËPython Project Wizard¡]PPW¡^
4.3.2 ¥Í¦¨¶µ¥Ø®Ø¬[
4.3.3 ¦w¸Ëpre-commit hooks
4.3.4 ¦w¸Ë¶}µo¨Ì¿à
4.3.5 ³Ð«ØGitHub Repo
4.3.6 ¶i¦æµo¥¬´ú¸Õ
4.3.7 ³]¸mGitHub CI
4.3.8 ³]¸mCodecov
4.3.9 ³]¸mGitHub Pages
4.3.10 GitHub¦Û°Ê¤Æ¸}¥»
4.3.11 PPW¥Í¦¨ªº¤å¥ó¦Cªí
²Ä5³¹ poetry¡GÅý¶µ¥ØºÞ²z»´ÃP¤@¨Ç
5.1 Semantic Versioning
5.2 poetry¡G²¼ä²M´·ªº¶µ¥ØºÞ²z¤u¨ã
5.2.1 ª©¥»ºÞ²z
5.2.2 ¨Ì¿àºÞ²z
5.2.3 µêÀÀ¹B¦æ®É
5.2.4 ºc«Øµo¦æ¥]
5.2.5 ¨ä¥L«nªºpoetry©R¥O
²Ä6³¹ ¹ê²{°ª®ÄªºPython½s½X
6.1 AI½á¯àªº¥N½X½s¼g
6.1.1 GitHub Copilot
6.1.2 Tabnine
6.2 Type Hint
6.3 PEP 8¡GPython¥N½X·®æ«ü«n
6.4 lint¤u¨ã
6.4.1 Flake
6.4.2 mypy
6.5 Formatter¤u¨ã
6.6 pre-commit hooks
²Ä7³¹ ³æ¤¸´ú¸Õ
7.1 ´ú¸Õ¥N½Xªº²Õ´
7.2 Pytest
7.2.1 ´ú¸Õ¥Î¨Òªº²Õ¸Ë
7.2.2 Pytest Â_¨¥
7.2.3 Pytest fixture
7.3 Å]ªk¤@¼Ëªºmock
7.3.1 °ò¦·§©À»P°ò¥»¨Ï¥Î
7.3.2 ¯S®í³õ¦X¤Uªºmock
7.4 Coverage¡G¿Å¶q´ú¸ÕªºÂл\²v
7.5 µo¥¬Âл\²v³ø§i
7.6 ¨Ï¥Îtox¹ê²{¯x°}¤Æ´ú¸Õ
7.6.1 ¤°»ò¬Otox
7.6.2 toxªº¤u§@ì²z
7.6.3 ¦p¦ó°t¸mtox
²Ä8³¹ ª©¥»±±¨î¡X°ò©óGit©MGitHub
8.1 ª©¥»±±¨îªº·N¸q
8.2 ª©¥»ºÞ²z¤u¨ãGit
8.2.1 ³Ð«ØGitÜ®w
8.2.2 «Ø¥ß»P»·µ{Ü®wªºÃöÁp¡Ggit remote
8.2.3 «O¦s§ó§ï¡Gadd¡Bcommit¡Bstashµ¥
8.2.4 »P¥L¤H¦P¨BÅܧó¡Ggit push©Mgit pull
8.2.5 Git¼ÐÅÒ
8.3 ¤À¤äºÞ²z
8.3.1 ¥\¯à¤À¤ä
8.3.2 µo¥¬¤À¤ä
8.3.3 ¼ö×´_¤À¤ä
8.4 °ª¯ÅGit¾Þ§@
8.4.1 ¤À¤ä¦X¨Ö©M¤T¸ôÂk¨Ö
8.4.2 Åܰò
8.4.3 ¤À¤ä¤ñ¸û¡Ggit diff
8.4.4 reset»Pcheckout
8.4.5 gutter change
8.5 ®×¨Ò¡G¦p¦ó°lÂÜ¥N½XÅܤÆ
8.6 GitHub©MGitHub CLI
8.6.1 ¦w¸ËGitHub CLI
8.6.2 GitHub CLIªº¥Dn©R¥O
8.6.3 GitHub CLIÀ³¥ÎÁ|¨Ò
²Ä9³¹ «ùÄò¶°¦¨
9.1 ½LÂICI³nÅé©M¦b½uªA°È
9.2 GitHub Actions
9.2.1 GitHub Actionsªº¬[ºc©M·§©À
9.2.2 ¤u§@¬y»yªk·§z
9.3 ²Ä¤T¤èÀ³¥Î©MActions
9.3.1 GitHub Pages³¡¸p
9.3.2 ºc«Ø©Mµo¥¬DockerÃè¹³
9.3.3 ¦bGitHub¤W¶i¦æµo¥¬
9.3.4 ¨îqµo¥¬¤é»x¯ó®×
9.3.5 ³qª¾®ø®§
9.3.6 Giscus
9.4 ³q¹LGitHub CIµo¥¬Python®w
²Ä10³¹ ¼¶¼g§Þ³N¤åÀÉ
10.1 §Þ³N¤åÀɪº²Õ¦¨
10.2 ¨âºØ¥Dnªº¤åÀɮ榡
10.3 rst¤åÀɮ榡
10.3.1 ³¹¸`¼ÐÃD¡]section¡^
10.3.2 ¦Cªí¡]list¡^
10.3.3 ªí®æ
10.3.4 ¹Ï¤ù
10.3.5 ¥N½X¶ô
10.3.6 ĵ¥Ü¤å¥»
10.4 Markdown¤åÀÉ
10.4.1 ³¹¸`¼ÐÃD
10.4.2 ¦Cªí
10.4.3 ªí®æ
10.4.4 ´¡¤JÃì±µ
10.4.5 ´¡¤J¹Ï¤ù
10.4.6 ¥N½X¶ô
10.4.7 ĵ¥Ü¤å¥»
10.4.8 ¨ä¥L»yªk
10.5 ¨âºØ¥Dnªººc«Ø¤u¨ã
10.6 ¨Ï¥ÎSphinxºc«Ø¤åÀÉ
10.6.1 ªì©l¤Æ¤åÀɵ²ºc
10.6.2 ¤å¥ó«©w¦V
10.6.3 ¥D±±¤åÀÉ©M¤u¨ãÃì
10.6.4 ¥Í¦¨API¤åÀÉ
10.6.5 docstringªº¼Ë¦¡
10.6.6 ²V¦X¨Ï¥ÎMarkdown
10.7 ¨Ï¥ÎMkDocsºc«Ø¤åÀÉ
10.7.1 °t¸mMkDocs
10.7.2 §ó´