βΉοΈ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://proglib.io/p/python-vscode |
| Last Crawled | 2026-04-03 12:34:39 (3 days ago) |
| First Indexed | 2019-07-04 04:02:45 (6 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Python + Visual Studio Code = ΡΡΠΏΠ΅ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° |
| Meta Description | Π‘ΡΠΏΠ΅ΡΡΠ΅Ρ Python ΠΈ Visual Studio Code Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ! ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π»ΡΡΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. |
| Meta Canonical | null |
| Boilerpipe Text | Π‘ΡΠΏΠ΅ΡΡΠ΅Ρ Python ΠΈ Visual Studio Code Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ! ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π»ΡΡΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
VS Code
ΠΎΡ
Microsoft
β Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈΡ
Π½Π° ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Python 2.7, Python 3.6/3.7, Anaconda ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python β Π΄Π΅Π»ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅:Β
Π·Π΄Π΅ΡΡ
Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΠ‘. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π² ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ VS Code ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ.
π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»
ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ Python
ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ PythonΒ»
ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»
Π‘ΡΠ°Π·Ρ ΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ VS Code Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Π΅Π³ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΠΌ ΡΠ΅Π·ΠΊΠΎΠΉ Visual Studio.
Π Π΅Π΄Π°ΠΊΡΠΎΡ
ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
Π½Π° Π»ΡΠ±ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: Π½Π°
ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅
Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»ΡΒ
Windows
,
Mac
ΠΈ
Linux
.
ΠΡΠΎΠ΄ΡΠΊΡ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ. Π Π½Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠ΄ΠΎΠ±Π½Π°Ρ
ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ΅Π½.
VS Code + Python
Π‘ 2018 Π³ΠΎΠ΄Π° Π΅ΡΡΡ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python
. ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²
Π±Π»ΠΎΠ³Π΅ Microsoft
.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 3.4 ΠΈ Π²ΡΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Python 2.7
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ
IntelliSense
ΠΠΈΠ½ΡΠΈΠ½Π³
ΠΡΠ»Π°Π΄ΠΊΠ°
Π‘Π½ΠΈΠΏΠΏΠ΅ΡΡ
ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
conda ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²
ΡΡΠ΅Π΄Π°Ρ
Jupyter
ΠΈ
Jupyter Notebooks
Π Π²ΠΎΡ ΠΏΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΊ Π΄Π»Ρ ΠΏΡΠΎΠΊΠ°ΡΠΊΠΈ Python-ΡΠΊΠΈΠ»Π»ΠΎΠ²:
ΠΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π΅ΠΌΠΊΠΎ, Π΄ΠΎΡ
ΠΎΠ΄ΡΠΈΠ²ΠΎ
ΠΡΡΠΏΠ½Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° Python-ΠΊΠ°Π½Π°Π»ΠΎΠ² Π½Π° Youtube
Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΈΡΠΈ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ:
ΠΠ°Π±ΠΎΡΡ Π³ΠΎΡΡΡΠΈΡ
ΠΊΠ»Π°Π²ΠΈΡ
Π΄Π»Ρ Atom, Sublime Text, Emacs, Vim, PyCharm ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ²
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅
ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ
Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ
Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΠΈΠΉ
Π Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΡΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡΡ:
GitLens
β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Git ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ blame ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠ²ΡΠΎΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ (
File
-
Auto Save
) ΠΈ
ΡΠ΄ΠΎΠ±Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°
Π΅Π³ΠΎ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°
ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitHub.
Π£Π΄ΠΎΠ±Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ
Docker
.
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΌΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
Π Visual Studio Code Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅
Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ
. ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅
.json-ΡΠ°ΠΉΠ»ΠΎΠ²
Π² ΠΏΠ°ΠΏΠΊΠ΅
.vscode
.
ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Python
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΌΠ΅Π½Ρ
Π€Π°ΠΉΠ»
ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ
ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π³ΠΎΡΡΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ
Ctrl+N
.
ΠΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ
Ctrl+Shift+P
. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅
File: New File
ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅
Enter
.
ΠΠ°ΠΊΠΎΠΉ Π±Ρ ΡΠΏΠΎΡΠΎΠ± Π²Ρ Π½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ, ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
ΠΠ΄Π΅ΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ "
Π Π΅ΡΠ΅ΡΠΎ ΠΡΠ°ΡΠΎΡΡΠ΅Π½Π°
" β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΡΠΈΡΠ΅Π» Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°. ΠΠ°ΡΠ½Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ:
sieve = [True] * 101
for i in range(2, 100):
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ VS Code Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠ·ΡΠΊΠ°, Π½Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ, Π½Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ Π½ΡΠΆΠ΅Π½?
ΠΠ΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ! ΠΡΠΎΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ. Π‘ΠΌΠΎΡΡΠΈΡΠ΅, Ρ Π½Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅
Untitled-1
. Π Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ
Plain Text
(ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°, ΡΠ΅ΠΏΠ΅ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Ρ Π½ΡΠΆΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ Π½Π°Ρ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°:
ΠΌΠ΅Π½Ρ:
Π€Π°ΠΉΠ» - Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ
Π³ΠΎΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ:
Ctrl+S
ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄:
File: Save File
ΠΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΡ
sieve.py
.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python, ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ:
Π’Π°ΠΊ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅! Π ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π°Π΄ΠΏΠΈΡΡ
Python
, Π·Π½Π°ΡΠΈΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° (Python 2.7, Python 3.x ΠΈΠ»ΠΈ Anaconda), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° (Π²Π½ΠΈΠ·Ρ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°) ΠΈΠ»ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄
Python: Select Interpreter
.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ VS Code ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ
ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
pep8
, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ
black
ΠΈΠ»ΠΈ
yapf
, Π΅ΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅.
ΠΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
sieve = [True] * 101
for i in range(2, 100):
if sieve[i]:
print(i)
for j in range(i*i, 100, i):
sieve[j] = False
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ (Π±Π΅Π· copy-paste), ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ IntelliSense ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
VS Code Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΡΡΡΠΏΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ
for
ΠΈ
if
, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ².
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°! ΠΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ», Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠ½ΠΊΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°: Visual Studio Code ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π Π΅Π΄Π°ΠΊΡΠΎΡΠ΅. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» (Ρ ΠΏΠΎΠΌΠΎΡΡΡ
Ctrl+S
), Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Python Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
.
Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠ½ΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ½ΡΠ΅Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ
PyLint
. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
flake8
mypy
pydocstyle
pep8
prospector
pyllama
bandit
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ
Π·Π΄Π΅ΡΡ
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π»ΠΈΠ½ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ.
Π‘ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΎΡΠΊΡΡΠ²Π°Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
code filename.py
.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ VS Code Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΆΠ΅
Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
. ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π°
"Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΌΠ°Π½Π΅Π²ΡΠΎΠ²ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠΈ"
(shunting-yard algorithm) ΠΠΈΠΉΠΊΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΊΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΠ°ΠΏΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
cd /path/to/project
code .
VS Code ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ: Β
virtualenv
,
pipenv
ΠΈΠ»ΠΈ
conda
.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
ΠΌΠ΅Π½Ρ:
Π€Π°ΠΉΠ» - ΠΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ
Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ:
Ctrl+K
,
Ctrl+O
ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
File: Open Folder
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ VS Code ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·. ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ°Π΄ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ°ΠΌΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Visual Studio Code ΡΠΌΠ΅Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΡΠ΅ΡΡΡ
Π²
unittest
,
pytest
ΠΈΠ»ΠΈ
Nose
. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ
ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Python Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΡΠΎΠ². ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅
.vscode/settings.json
. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ
unittest
, ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½
*_test.py
.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π°
Run Tests
Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅
Output
(ΡΠ°Π·Π΄Π΅Π»
Python Test Log
Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Ρ).
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
ΠΠΎΠ³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ Π½ΡΠ°Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python-ΠΊΠΎΠ΄Π°
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ VS Code β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ IDE, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ
ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ Python
ΠΏΡΡΠΌΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Ρ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π’ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΠΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅
Debug
Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Python, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ Python ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Django
ΠΈ
Flask
.
ΠΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
F5
. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
F10
ΠΈ
F11
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π»Ρ Π·Π°Ρ
ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Shift+F5
β Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ
F9
ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΌΡΡΠΈ Π² Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΎΠΊΠ½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django ΠΈΠ»ΠΈ Flask, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅
Debug
Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π΅ΡΡ ΠΌΠ΅Π½Ρ
Configuration
ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅
Add Configuration
:
VS Code ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ»
.vscode/launch.json
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Python
, Π° ΡΠ°ΠΊΠΆΠ΅
ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
.
ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π΄Π΅Π±Π°ΠΆΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Jinja ΠΈ Django. ΠΠ°ΠΊΡΠΎΠΉΡΠ΅
launch.json
ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Python. Π§Π°ΡΡΡ 1
Β ΠΈ
Β Π§Π°ΡΡΡ 2
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Git
Π VS Code ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Git ΠΈ GitHub, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅
Source Control
Π»Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ:
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ°
.git
, Π²Π΅ΡΡ ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Git/GitHub
Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅:
ΠΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ
ΠΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ·
ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
, ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π Π°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ
Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π³Π°ΠΌΠΈ
ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅
ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄ΠΈΡΡΡ
ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
VS Code ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ
M
, Π° Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ β
U
. Π‘ΠΈΠΌΠ²ΠΎΠ»
+
ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π³Π°Π»ΠΎΡΠΊΡ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° GitHub ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡ
Sync
ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Π·Π½Π°ΡΠΊΡ
Synchronize Changes
Π²
ΡΡΠ°ΡΡΡ-Π±Π°ΡΠ΅
Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ).
Visual Studio Code + Python = Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Visual Studio Code β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΊΡΡΡΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
Π ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ IDE) Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Ρ?
ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ:
Python Development in Visual Studio Code
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python:
ΠΠΠ Π½Π° Python: ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π‘Π°ΠΌΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python
100+ ΠΊΡΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python |
| Markdown | 


[![]()]()
- [ΠΠΎΡ Π»Π΅Π½ΡΠ°](https://proglib.io/)
- [Π’Π΅ΡΡΡ](https://proglib.io/tests/all)
- [ΠΡΡΡΡ](https://proglib.io/w/bb7779f5)
- [ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ](https://proglib.io/vacancies/all)
- [ΠΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ](https://proglib.io/events)
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΠΈΡΡ
- [ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ]()
- [ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΡ](https://proglib.io/vacancies/new)
- ### Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ, ΡΠΎΠ³Π΄Π° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ.





- - [ΠΠΎΠ²ΠΎΠ΅](https://proglib.io/)
- [ΠΡΡΡΡ](https://proglib.io/w/bb7779f5)
- [ΠΡΡΡΠ΅Π΅](https://proglib.io/p/favorite)
- [ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ](https://proglib.io/vacancies/all)
- [ΠΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ](https://proglib.io/events)
- [ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ](https://proglib.io/discussions)
Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ...
[ ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Python ΡΡΡ](https://t.me/pyproglib)
ΠΠΠͺΠ―ΠΠΠΠΠΠ
Π₯ΠΎΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ Π²ΡΡΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Data Science?
ΠΠ°Ρ
ΠΎΠ΄ΠΈ Π½Π° Π½Π°Ρ ΠΊΡΡΡ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΠΠ£\!
[ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅](https://proglib.io/w/dd4b5415)
### [ΠΠΠΠΠΠ‘ΠΠ](https://proglib.io/vacancies/all)
[ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΡ](https://proglib.io/vacancies/new)
[](https://proglib.io/vacancies/senior-ai-ml-backend-engineer-2e4c1eb6-2026-03-16)
[**Senior AI/ML & Backend Engineer**](https://proglib.io/vacancies/senior-ai-ml-backend-engineer-2e4c1eb6-2026-03-16)
[ΠΠ»ΠΌΠ°-ΠΡΠ°](https://proglib.io/vacancies/all?city=%D0%90%D0%BB%D0%BC%D0%B0-%D0%90%D1%82%D0%B0 "ΠΡΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Π² ΡΡΠΎΠΌ Π³ΠΎΡΠΎΠ΄Π΅"), ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
[](https://proglib.io/vacancies/tech-lead-ios-webview-f774dd28-2026-04-03)
[**Tech Lead (iOS / WebView)**](https://proglib.io/vacancies/tech-lead-ios-webview-f774dd28-2026-04-03)
ΠΎΡ 4000 USD Π΄ΠΎ 8000 USD
[](https://proglib.io/vacancies/middle-fullstack-razrabotchik-ats-ringoline-225fadbf-2026-04-03)
[**Middle Fullstack-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ (ΠΠ’Π‘ RingoLine)**](https://proglib.io/vacancies/middle-fullstack-razrabotchik-ats-ringoline-225fadbf-2026-04-03)
ΠΎΡ 150000 RUB Π΄ΠΎ 180000 RUB
[\+ ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅](https://proglib.io/vacancies/all) [ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΡ](https://proglib.io/vacancies/new)
[](https://proglib.io/u/admin)
[admin](https://proglib.io/u/admin)
10 ΡΠ΅Π²ΡΠ°Π»Ρ 2019
ΠΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡΡΡ
# Python + Visual Studio Code = ΡΡΠΏΠ΅ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
Π‘ΡΠΏΠ΅ΡΡΠ΅Ρ Python ΠΈ Visual Studio Code Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ! ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π»ΡΡΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.

[VS Code](https://code.visualstudio.com/docs) ΠΎΡ [Microsoft](https://azure.microsoft.com/en-us/develop/python/) β Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈΡ
Π½Π° ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Python 2.7, Python 3.6/3.7, Anaconda ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python β Π΄Π΅Π»ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅: [Π·Π΄Π΅ΡΡ](https://python-scripts.com/install-python) Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΠ‘. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π² ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ VS Code ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ.
### π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
[ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»](https://proglib.io/w/48aa927f)
### ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ Python
[ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ PythonΒ»](https://proglib.io/w/5c0a629f)
### ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
[ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»](https://proglib.io/w/eaf73442)
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Visual Studio Code Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python
Π‘ΡΠ°Π·Ρ ΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ VS Code Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Π΅Π³ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΠΌ ΡΠ΅Π·ΠΊΠΎΠΉ Visual Studio.
Π Π΅Π΄Π°ΠΊΡΠΎΡ [ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](https://code.visualstudio.com/docs/setup/setup-overview) Π½Π° Π»ΡΠ±ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: Π½Π° [ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅](https://code.visualstudio.com/) Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ [Windows](https://code.visualstudio.com/docs/setup/windows), [Mac](https://code.visualstudio.com/docs/setup/mac) ΠΈ [Linux](https://code.visualstudio.com/docs/setup/linux).

ΠΡΠΎΠ΄ΡΠΊΡ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ. Π Π½Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠ΄ΠΎΠ±Π½Π°Ρ [ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ](https://code.visualstudio.com/docs/editor/extension-gallery). [ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ](https://code.visualstudio.com/docs/getstarted/userinterface) ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ΅Π½.

## VS Code + Python
Π‘ 2018 Π³ΠΎΠ΄Π° Π΅ΡΡΡ [ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python). ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² [Π±Π»ΠΎΠ³Π΅ Microsoft](http://aka.ms/pythonblog).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 3.4 ΠΈ Π²ΡΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Python 2.7
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense)
- [ΠΠΈΠ½ΡΠΈΠ½Π³](https://code.visualstudio.com/docs/python/linting)
- [ΠΡΠ»Π°Π΄ΠΊΠ°](https://code.visualstudio.com/docs/python/debugging)
- [Π‘Π½ΠΈΠΏΠΏΠ΅ΡΡ](https://code.visualstudio.com/docs/editor/userdefinedsnippets)
- [ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](https://code.visualstudio.com/docs/python/unit-testing)
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ [conda ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄](https://code.visualstudio.com/docs/python/environments)
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² [ΡΡΠ΅Π΄Π°Ρ
Jupyter](https://code.visualstudio.com/docs/python/editing#_jupyter-code-cells) ΠΈ [Jupyter Notebooks](https://code.visualstudio.com/docs/python/editing#_open-jupyter-notebooks)

Π Π²ΠΎΡ ΠΏΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΊ Π΄Π»Ρ ΠΏΡΠΎΠΊΠ°ΡΠΊΠΈ Python-ΡΠΊΠΈΠ»Π»ΠΎΠ²:
- [ΠΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π΅ΠΌΠΊΠΎ, Π΄ΠΎΡ
ΠΎΠ΄ΡΠΈΠ²ΠΎ](https://proglib.io/p/python-books/)
- [ΠΡΡΠΏΠ½Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° Python-ΠΊΠ°Π½Π°Π»ΠΎΠ² Π½Π° Youtube](https://proglib.io/p/python-youtube/)
Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΈΡΠΈ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ:
- [ΠΠ°Π±ΠΎΡΡ Π³ΠΎΡΡΡΠΈΡ
ΠΊΠ»Π°Π²ΠΈΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Keymaps&sortBy=Downloads) Π΄Π»Ρ Atom, Sublime Text, Emacs, Vim, PyCharm ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ²
- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ [ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Themes&sortBy=Downloads)
- [Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Language%20Packs&sortBy=Downloads) Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΠΈΠΉ
Π Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΡΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡΡ:
1. [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Git ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ blame ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
2. ΠΠ²ΡΠΎΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ (**File** - **Auto Save**) ΠΈ [ΡΠ΄ΠΎΠ±Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) Π΅Π³ΠΎ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
3. [Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitHub.
4. Π£Π΄ΠΎΠ±Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ [Docker](https://code.visualstudio.com/docs/azure/docker).
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΌΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
## Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
Π Visual Studio Code Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ [Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ](https://code.visualstudio.com/docs/getstarted/settings). ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ **.json-ΡΠ°ΠΉΠ»ΠΎΠ²** Π² ΠΏΠ°ΠΏΠΊΠ΅ **.vscode**.
## ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Python
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΌΠ΅Π½Ρ **Π€Π°ΠΉΠ»** ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ **Π‘ΠΎΠ·Π΄Π°ΡΡ** ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π³ΠΎΡΡΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ `Ctrl+N`.
ΠΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ `Ctrl+Shift+P`. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ **File: New File** ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ `Enter`.
ΠΠ°ΠΊΠΎΠΉ Π±Ρ ΡΠΏΠΎΡΠΎΠ± Π²Ρ Π½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ, ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

ΠΠ΄Π΅ΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
## ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ "[Π Π΅ΡΠ΅ΡΠΎ ΠΡΠ°ΡΠΎΡΡΠ΅Π½Π°](https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%88%D0%B5%D1%82%D0%BE_%D0%AD%D1%80%D0%B0%D1%82%D0%BE%D1%81%D1%84%D0%B5%D0%BD%D0%B0)" β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΡΠΈΡΠ΅Π» Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°. ΠΠ°ΡΠ½Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ:
```
sieve = [True] * 101
for i in range(2, 100):
```
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:

ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ VS Code Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠ·ΡΠΊΠ°, Π½Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ, Π½Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ Π½ΡΠΆΠ΅Π½?
ΠΠ΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ! ΠΡΠΎΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ. Π‘ΠΌΠΎΡΡΠΈΡΠ΅, Ρ Π½Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ **Untitled-1**. Π Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ **Plain Text** (ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°, ΡΠ΅ΠΏΠ΅ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Ρ Π½ΡΠΆΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ Π½Π°Ρ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°:
- ΠΌΠ΅Π½Ρ: **Π€Π°ΠΉΠ» - Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ**
- Π³ΠΎΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ: `Ctrl+S`
- ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄: **File: Save File**
ΠΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΡ **sieve.py**.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python, ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ:

Π’Π°ΠΊ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅! Π ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π°Π΄ΠΏΠΈΡΡ **Python**, Π·Π½Π°ΡΠΈΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° (Python 2.7, Python 3.x ΠΈΠ»ΠΈ Anaconda), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° (Π²Π½ΠΈΠ·Ρ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°) ΠΈΠ»ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ `Python: Select Interpreter`.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ VS Code ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ [ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](https://code.visualstudio.com/docs/python/editing#_formatterspecific-settings) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ **pep8**, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ **black** ΠΈΠ»ΠΈ **yapf**, Π΅ΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅.
ΠΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
```
sieve = [True] * 101
for i in range(2, 100):
if sieve[i]:
print(i)
for j in range(i*i, 100, i):
sieve[j] = False
```
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ (Π±Π΅Π· copy-paste), ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ IntelliSense ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.

VS Code Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΡΡΡΠΏΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ `for` ΠΈ `if`, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ².
## ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°! ΠΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ», Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠ½ΠΊΡ **ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ**.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°: Visual Studio Code ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π Π΅Π΄Π°ΠΊΡΠΎΡΠ΅. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» (Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Ctrl+S`), Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ **ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Python Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅**.
Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
## ΠΠΈΠ½ΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ½ΡΠ΅Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ **PyLint**. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
- flake8
- mypy
- pydocstyle
- pep8
- prospector
- pyllama
- bandit
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ [Π·Π΄Π΅ΡΡ](https://code.visualstudio.com/docs/python/linting).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π»ΠΈΠ½ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
## Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ.
Π‘ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΎΡΠΊΡΡΠ²Π°Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `code filename.py`.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ VS Code Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΆΠ΅ [Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://github.com/JFincher42/PyEval). ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ["Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΌΠ°Π½Π΅Π²ΡΠΎΠ²ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠΈ"](https://en.wikipedia.org/wiki/Shunting-yard_algorithm) (shunting-yard algorithm) ΠΠΈΠΉΠΊΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΊΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΠ°ΠΏΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
```
cd /path/to/project
code .
```
VS Code ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ: [virtualenv](https://virtualenv.pypa.io/en/latest/), [pipenv](https://pipenv.readthedocs.io/en/latest/) ΠΈΠ»ΠΈ [conda](https://conda.io/docs/).
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
- ΠΌΠ΅Π½Ρ: **Π€Π°ΠΉΠ» - ΠΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ**
- Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ: `Ctrl+K`, `Ctrl+O`
- ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄: **File: Open Folder**
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ:

ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ VS Code ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·. ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ°Π΄ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
## Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ°ΠΌΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Visual Studio Code ΡΠΌΠ΅Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ [ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΡΠ΅ΡΡΡ](https://code.visualstudio.com/docs/python/unit-testing) Π² **unittest**, **pytest** ΠΈΠ»ΠΈ **Nose**. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ [ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ](https://realpython.com/python-testing/), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Python Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΡΠΎΠ². ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ **.vscode/settings.json**. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ **unittest**, ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ **\*\_test.py**.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° **Run Tests** Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Output** (ΡΠ°Π·Π΄Π΅Π» **Python Test Log** Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Ρ).
#### ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
- [ΠΠΎΠ³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ Π½ΡΠ°Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python-ΠΊΠΎΠ΄Π°](https://proglib.io/p/python-testing/)
## ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ VS Code β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ IDE, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ [ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ Python](https://code.visualstudio.com/docs/python/debugging) ΠΏΡΡΠΌΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Ρ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- Π’ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΠΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Debug** Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Python, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ Python ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ [Django](https://realpython.com/tutorials/django/) ΠΈ [Flask](https://realpython.com/tutorials/flask/).
ΠΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `F5`. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `F10` ΠΈ `F11` Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π»Ρ Π·Π°Ρ
ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. `Shift+F5` β Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ `F9` ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΌΡΡΠΈ Π² Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΎΠΊΠ½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django ΠΈΠ»ΠΈ Flask, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Debug** Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π΅ΡΡ ΠΌΠ΅Π½Ρ **Configuration** ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ **Add Configuration**:

VS Code ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» **.vscode/launch.json**, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ [ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Python](https://code.visualstudio.com/docs/python/debugging#_standard-configuration-and-options), Π° ΡΠ°ΠΊΠΆΠ΅ [ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ](https://code.visualstudio.com/docs/python/debugging#_debugging-specific-app-types_).
ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π΄Π΅Π±Π°ΠΆΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Jinja ΠΈ Django. ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ **launch.json** ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°.
#### ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
- [ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Python. Π§Π°ΡΡΡ 1](https://proglib.io/p/python-code-analysis/) ΠΈ [Π§Π°ΡΡΡ 2](https://proglib.io/p/python-code-analysis-tools/)
## ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Git
Π VS Code ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° [ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ](https://code.visualstudio.com/docs/editor/versioncontrol). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Git ΠΈ GitHub, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Source Control** Π»Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ:

ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° **.git**, Π²Π΅ΡΡ ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ [Git/GitHub](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support) Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- [ΠΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ](https://code.visualstudio.com/docs/editor/versioncontrol#_commit)
- ΠΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· [ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_remotes), ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- Π Π°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ [Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π³Π°ΠΌΠΈ](https://code.visualstudio.com/docs/editor/versioncontrol#_branches-and-tags) ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅
- ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ [ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_merge-conflicts)
- [ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄ΠΈΡΡΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_viewing-diffs)
ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:

VS Code ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ **M**, Π° Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ β **U**. Π‘ΠΈΠΌΠ²ΠΎΠ» **\+** ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π³Π°Π»ΠΎΡΠΊΡ.

ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° GitHub ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡ **Sync** ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Π·Π½Π°ΡΠΊΡ **Synchronize Changes** Π² [ΡΡΠ°ΡΡΡ-Π±Π°ΡΠ΅](https://code.visualstudio.com/docs/editor/versioncontrol#_git-status-bar-actions) Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ).
Visual Studio Code + Python = Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Visual Studio Code β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΊΡΡΡΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
Π ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ IDE) Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Ρ?
ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ: [Python Development in Visual Studio Code](https://realpython.com/python-development-visual-studio-code/)
# ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python:
- - [ΠΠΠ Π½Π° Python: ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ](https://proglib.io/p/python-oop/)
- [Π‘Π°ΠΌΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python](https://proglib.io/p/python-digest/)
- [100+ ΠΊΡΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python](https://proglib.io/p/great-python-projects/)
[Python](https://proglib.io/tag/Python) [ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ](https://proglib.io/tag/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B)
[![]()]()
### [ΠΠΠ ΠΠΠ ΠΠ―Π’ΠΠ―](https://proglib.io/events)
[ΠΡΡΡ Β«Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° AI-Π°Π³Π΅Π½ΡΠΎΠ²: ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ LLMΒ»](https://proglib.io/events/kurs-razrabotka-ai-agentov-biblioteka-programmista-2026-02-18)
20 Π°ΠΏΡΠ΅Π»Ρ [ΠΠ½Π»Π°ΠΉΠ½](https://proglib.io/events?online=1 "ΠΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ") 49000 RUB
[\+ ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅](https://proglib.io/events)
## ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅
ΠΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ
ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ...
### [ΠΠΠΠΠΠ‘ΠΠ](https://proglib.io/vacancies/all)
[ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΡ](https://proglib.io/vacancies/new)
[](https://proglib.io/vacancies/content-growth-marketing-manager-90aec7fd-2026-04-01)
[**Content & Growth Marketing Manager**](https://proglib.io/vacancies/content-growth-marketing-manager-90aec7fd-2026-04-01)
ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
[](https://proglib.io/vacancies/senior-fullstack-developer-java-5048ad1d-2026-03-24)
[**Senior Fullstack Developer (Java)**](https://proglib.io/vacancies/senior-fullstack-developer-java-5048ad1d-2026-03-24)
Π΄ΠΎ 230000 RUB
[](https://proglib.io/vacancies/senior-ai-ml-backend-engineer-2e4c1eb6-2026-03-16)
[**Senior AI/ML & Backend Engineer**](https://proglib.io/vacancies/senior-ai-ml-backend-engineer-2e4c1eb6-2026-03-16)
[ΠΠ»ΠΌΠ°-ΠΡΠ°](https://proglib.io/vacancies/all?city=%D0%90%D0%BB%D0%BC%D0%B0-%D0%90%D1%82%D0%B0 "ΠΡΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Π² ΡΡΠΎΠΌ Π³ΠΎΡΠΎΠ΄Π΅"), ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
[\+ ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅](https://proglib.io/vacancies/all) [ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΡ](https://proglib.io/vacancies/new)
### ΠΠ£Π§Π¨ΠΠ Π‘Π’ΠΠ’Π¬Π ΠΠ Π’ΠΠΠ
[ΠΠΠ Π½Π° Python: ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π² Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠΈΠ»Π΅ ΠΠΠ Π½Π° Python ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.](https://proglib.io/p/python-oop)
[3 ΡΠ°ΠΌΡΡ
Π²Π°ΠΆΠ½ΡΡ
ΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Python: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Python, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ
ΠΎΡΠΎΡ. Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ, ΡΡΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π° ΡΡΠΎΠΌ Π―Π.](https://proglib.io/p/python-applications)
[ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python: ΠΎΡ Π½ΠΎΠ²ΠΈΡΠΊΠ° Π΄ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π° ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python (ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅), Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, ΠΊΡΠ΄Π° ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³.](https://proglib.io/p/python-from-newbie-to-professional)
- [Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅](https://drive.google.com/file/d/198G539Hu9LAPEsB8HFFk5ElESDvKw_Hg/view)
- [Π Π΅ΠΊΠ»Π°ΠΌΠ°](https://proglib.io/w/35def346)
- [ΠΡΠ±Π»ΠΈΡΠ½Π°Ρ ΠΎΡΠ΅ΡΡΠ°](https://proglib.io/offer)
- [ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ](https://proglib.io/privacy-policy)
- [ΠΠΎΠ½ΡΠ°ΠΊΡΡ](https://proglib.io/contact)
Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
Π’Π΅ΠΌΠ½Π°Ρ ΡΠ΅ΠΌΠ°
Β© 2026, Proglib. ΠΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
ΠΠ°Ρ ΡΠ°ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ cookie Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°. ΠΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ°ΠΉΡΠΎΠΌ, Π²Ρ Π΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Ρ [ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ cookie](https://proglib.io/cookie)
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½
ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΡ
Π½Π° push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ
## ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅
ΠΡΠΌΠ΅Π½Π°
ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ
## ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ
ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅
Google
GitHub
Telegram
Π―Π½Π΄Π΅ΠΊΡ
MailRu
ΠΠ²ΡΠΎΡΠΈΠ·ΡΡΡΡ, Π²Ρ Π΄Π°Π΅ΡΠ΅ [ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
](https://proglib.io/privacy-policy).
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡ, Π²Ρ Π΄Π°Π΅ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Π½Π° [ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
](https://proglib.io/privacy-policy).
## ΠΠΈΡΡΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ
ΠΠ° ΠΏΠΎΡΡΡ Π±ΡΠ»ΠΎ Π²ΡΡΠ»Π°Π½ΠΎ ΠΏΠΈΡΡΠΌΠΎ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ°ΠΏΠΊΡ "ΡΠΏΠ°ΠΌ", Π΅ΡΠ»ΠΈ ΠΏΠΈΡΡΠΌΠΎ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
### ΠΠΎ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΠΎΠ·ΠΆΠ΅
ΠΠΎΠ½ΡΡΠ½ΠΎ
![]()
### Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΡΡΠΈΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ?
### Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ?
### Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΡΡΠΈΠΌ ΡΠ΅ΡΡΠΎΠΌ?
### Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΡΡΠΎΠΉ Π²Π°ΠΊΠ°Π½ΡΠΈΠ΅ΠΉ?
### Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠ΅ΠΌ?
### ΠΠ°ΠΊΠΎΠΉ Π±Π°Π³ Π²Ρ Π½Π°ΡΠ»ΠΈ?
### ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΡΠΌΡ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Ρ ΠΠ°ΠΌΠΈ ΡΠ²ΡΠ·Π°ΡΡΡΡ
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ (ΠΏΠΎΡΡΠ°, ΡΠ·Π΅ΡΠ½Π΅ΠΉΠΌ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠ΅ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°) |
| Readable Markdown | Π‘ΡΠΏΠ΅ΡΡΠ΅Ρ Python ΠΈ Visual Studio Code Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ! ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π»ΡΡΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.

[VS Code](https://code.visualstudio.com/docs) ΠΎΡ [Microsoft](https://azure.microsoft.com/en-us/develop/python/) β Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈΡ
Π½Π° ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Python 2.7, Python 3.6/3.7, Anaconda ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python β Π΄Π΅Π»ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅: [Π·Π΄Π΅ΡΡ](https://python-scripts.com/install-python) Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΠ‘. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π² ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ VS Code ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ.
### π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
[ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»](https://proglib.io/w/48aa927f)
### ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ Python
[ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ PythonΒ»](https://proglib.io/w/5c0a629f)
### ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
[ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»](https://proglib.io/w/eaf73442)
Π‘ΡΠ°Π·Ρ ΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ VS Code Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Π΅Π³ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΠΌ ΡΠ΅Π·ΠΊΠΎΠΉ Visual Studio.
Π Π΅Π΄Π°ΠΊΡΠΎΡ [ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](https://code.visualstudio.com/docs/setup/setup-overview) Π½Π° Π»ΡΠ±ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: Π½Π° [ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅](https://code.visualstudio.com/) Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ [Windows](https://code.visualstudio.com/docs/setup/windows), [Mac](https://code.visualstudio.com/docs/setup/mac) ΠΈ [Linux](https://code.visualstudio.com/docs/setup/linux).

ΠΡΠΎΠ΄ΡΠΊΡ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ. Π Π½Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠ΄ΠΎΠ±Π½Π°Ρ [ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ](https://code.visualstudio.com/docs/editor/extension-gallery). [ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ](https://code.visualstudio.com/docs/getstarted/userinterface) ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ΅Π½.

## VS Code + Python
Π‘ 2018 Π³ΠΎΠ΄Π° Π΅ΡΡΡ [ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python). ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² [Π±Π»ΠΎΠ³Π΅ Microsoft](http://aka.ms/pythonblog).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 3.4 ΠΈ Π²ΡΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Python 2.7
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense)
- [ΠΠΈΠ½ΡΠΈΠ½Π³](https://code.visualstudio.com/docs/python/linting)
- [ΠΡΠ»Π°Π΄ΠΊΠ°](https://code.visualstudio.com/docs/python/debugging)
- [Π‘Π½ΠΈΠΏΠΏΠ΅ΡΡ](https://code.visualstudio.com/docs/editor/userdefinedsnippets)
- [ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](https://code.visualstudio.com/docs/python/unit-testing)
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ [conda ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄](https://code.visualstudio.com/docs/python/environments)
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² [ΡΡΠ΅Π΄Π°Ρ
Jupyter](https://code.visualstudio.com/docs/python/editing#_jupyter-code-cells) ΠΈ [Jupyter Notebooks](https://code.visualstudio.com/docs/python/editing#_open-jupyter-notebooks)

Π Π²ΠΎΡ ΠΏΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΊ Π΄Π»Ρ ΠΏΡΠΎΠΊΠ°ΡΠΊΠΈ Python-ΡΠΊΠΈΠ»Π»ΠΎΠ²:
- [ΠΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π΅ΠΌΠΊΠΎ, Π΄ΠΎΡ
ΠΎΠ΄ΡΠΈΠ²ΠΎ](https://proglib.io/p/python-books/)
- [ΠΡΡΠΏΠ½Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° Python-ΠΊΠ°Π½Π°Π»ΠΎΠ² Π½Π° Youtube](https://proglib.io/p/python-youtube/)
Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΈΡΠΈ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ:
- [ΠΠ°Π±ΠΎΡΡ Π³ΠΎΡΡΡΠΈΡ
ΠΊΠ»Π°Π²ΠΈΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Keymaps&sortBy=Downloads) Π΄Π»Ρ Atom, Sublime Text, Emacs, Vim, PyCharm ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ²
- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ [ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Themes&sortBy=Downloads)
- [Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ](https://marketplace.visualstudio.com/search?target=VSCode&category=Language%20Packs&sortBy=Downloads) Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΠΈΠΉ
Π Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΡΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡΡ:
1. [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Git ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ blame ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
2. ΠΠ²ΡΠΎΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ (**File** - **Auto Save**) ΠΈ [ΡΠ΄ΠΎΠ±Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) Π΅Π³ΠΎ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
3. [Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitHub.
4. Π£Π΄ΠΎΠ±Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ [Docker](https://code.visualstudio.com/docs/azure/docker).
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΌΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
## Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
Π Visual Studio Code Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ [Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ](https://code.visualstudio.com/docs/getstarted/settings). ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ **.json-ΡΠ°ΠΉΠ»ΠΎΠ²** Π² ΠΏΠ°ΠΏΠΊΠ΅ **.vscode**.
## ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Python
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΌΠ΅Π½Ρ **Π€Π°ΠΉΠ»** ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ **Π‘ΠΎΠ·Π΄Π°ΡΡ** ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π³ΠΎΡΡΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ `Ctrl+N`.
ΠΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ `Ctrl+Shift+P`. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ **File: New File** ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ `Enter`.
ΠΠ°ΠΊΠΎΠΉ Π±Ρ ΡΠΏΠΎΡΠΎΠ± Π²Ρ Π½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ, ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

ΠΠ΄Π΅ΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
## ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ "[Π Π΅ΡΠ΅ΡΠΎ ΠΡΠ°ΡΠΎΡΡΠ΅Π½Π°](https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%88%D0%B5%D1%82%D0%BE_%D0%AD%D1%80%D0%B0%D1%82%D0%BE%D1%81%D1%84%D0%B5%D0%BD%D0%B0)" β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΡΠΈΡΠ΅Π» Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°. ΠΠ°ΡΠ½Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΡ:
```
sieve = [True] * 101
for i in range(2, 100):
```
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:

ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ VS Code Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠ·ΡΠΊΠ°, Π½Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ, Π½Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ Π½ΡΠΆΠ΅Π½?
ΠΠ΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ! ΠΡΠΎΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ. Π‘ΠΌΠΎΡΡΠΈΡΠ΅, Ρ Π½Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ **Untitled-1**. Π Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ **Plain Text** (ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°, ΡΠ΅ΠΏΠ΅ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Ρ Π½ΡΠΆΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ Π½Π°Ρ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°:
- ΠΌΠ΅Π½Ρ: **Π€Π°ΠΉΠ» - Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ**
- Π³ΠΎΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ: `Ctrl+S`
- ΠΏΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄: **File: Save File**
ΠΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΡ **sieve.py**.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python, ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ:

Π’Π°ΠΊ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅! Π ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π°Π΄ΠΏΠΈΡΡ **Python**, Π·Π½Π°ΡΠΈΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° (Python 2.7, Python 3.x ΠΈΠ»ΠΈ Anaconda), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° (Π²Π½ΠΈΠ·Ρ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°) ΠΈΠ»ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ `Python: Select Interpreter`.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ VS Code ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ [ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](https://code.visualstudio.com/docs/python/editing#_formatterspecific-settings) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ **pep8**, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ **black** ΠΈΠ»ΠΈ **yapf**, Π΅ΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅.
ΠΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
```
sieve = [True] * 101
for i in range(2, 100):
if sieve[i]:
print(i)
for j in range(i*i, 100, i):
sieve[j] = False
```
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ (Π±Π΅Π· copy-paste), ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ IntelliSense ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.

VS Code Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΡΡΡΠΏΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ `for` ΠΈ `if`, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ².
## ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°! ΠΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ», Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠ½ΠΊΡ **ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ**.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°: Visual Studio Code ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π Π΅Π΄Π°ΠΊΡΠΎΡΠ΅. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» (Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Ctrl+S`), Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ **ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Python Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅**.
Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
## ΠΠΈΠ½ΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ½ΡΠ΅Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ **PyLint**. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
- flake8
- mypy
- pydocstyle
- pep8
- prospector
- pyllama
- bandit
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ [Π·Π΄Π΅ΡΡ](https://code.visualstudio.com/docs/python/linting).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π»ΠΈΠ½ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
## Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ.
Π‘ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΎΡΠΊΡΡΠ²Π°Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `code filename.py`.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ VS Code Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΆΠ΅ [Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://github.com/JFincher42/PyEval). ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ["Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΌΠ°Π½Π΅Π²ΡΠΎΠ²ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠΈ"](https://en.wikipedia.org/wiki/Shunting-yard_algorithm) (shunting-yard algorithm) ΠΠΈΠΉΠΊΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΊΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΠ°ΠΏΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
```
cd /path/to/project
code .
```
VS Code ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ: [virtualenv](https://virtualenv.pypa.io/en/latest/), [pipenv](https://pipenv.readthedocs.io/en/latest/) ΠΈΠ»ΠΈ [conda](https://conda.io/docs/).
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
- ΠΌΠ΅Π½Ρ: **Π€Π°ΠΉΠ» - ΠΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ**
- Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ: `Ctrl+K`, `Ctrl+O`
- ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄: **File: Open Folder**
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ:

ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ VS Code ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·. ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ°Π΄ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
## Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ°ΠΌΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Visual Studio Code ΡΠΌΠ΅Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ [ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΡΠ΅ΡΡΡ](https://code.visualstudio.com/docs/python/unit-testing) Π² **unittest**, **pytest** ΠΈΠ»ΠΈ **Nose**. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ [ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ](https://realpython.com/python-testing/), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Python Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΡΠΎΠ². ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ **.vscode/settings.json**. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ **unittest**, ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ **\*\_test.py**.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° **Run Tests** Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Output** (ΡΠ°Π·Π΄Π΅Π» **Python Test Log** Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Ρ).
#### ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
- [ΠΠΎΠ³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ Π½ΡΠ°Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python-ΠΊΠΎΠ΄Π°](https://proglib.io/p/python-testing/)
## ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ VS Code β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ IDE, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ [ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ Python](https://code.visualstudio.com/docs/python/debugging) ΠΏΡΡΠΌΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Ρ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- Π’ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΠΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Debug** Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Python, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ Python ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ [Django](https://realpython.com/tutorials/django/) ΠΈ [Flask](https://realpython.com/tutorials/flask/).
ΠΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `F5`. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `F10` ΠΈ `F11` Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π»Ρ Π·Π°Ρ
ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. `Shift+F5` β Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ `F9` ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΌΡΡΠΈ Π² Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΎΠΊΠ½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django ΠΈΠ»ΠΈ Flask, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Debug** Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π΅ΡΡ ΠΌΠ΅Π½Ρ **Configuration** ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ **Add Configuration**:

VS Code ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» **.vscode/launch.json**, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ [ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Python](https://code.visualstudio.com/docs/python/debugging#_standard-configuration-and-options), Π° ΡΠ°ΠΊΠΆΠ΅ [ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ](https://code.visualstudio.com/docs/python/debugging#_debugging-specific-app-types_).
ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π΄Π΅Π±Π°ΠΆΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Jinja ΠΈ Django. ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ **launch.json** ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°.
#### ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
- [ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Python. Π§Π°ΡΡΡ 1](https://proglib.io/p/python-code-analysis/) ΠΈ [Π§Π°ΡΡΡ 2](https://proglib.io/p/python-code-analysis-tools/)
## ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Git
Π VS Code ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° [ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ](https://code.visualstudio.com/docs/editor/versioncontrol). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Git ΠΈ GitHub, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ **Source Control** Π»Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ:

ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° **.git**, Π²Π΅ΡΡ ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ [Git/GitHub](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support) Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- [ΠΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ](https://code.visualstudio.com/docs/editor/versioncontrol#_commit)
- ΠΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· [ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_remotes), ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- Π Π°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ [Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π³Π°ΠΌΠΈ](https://code.visualstudio.com/docs/editor/versioncontrol#_branches-and-tags) ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅
- ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ [ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_merge-conflicts)
- [ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄ΠΈΡΡΡ](https://code.visualstudio.com/docs/editor/versioncontrol#_viewing-diffs)
ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:

VS Code ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ **M**, Π° Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ β **U**. Π‘ΠΈΠΌΠ²ΠΎΠ» **\+** ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π³Π°Π»ΠΎΡΠΊΡ.

ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° GitHub ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡ **Sync** ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Π·Π½Π°ΡΠΊΡ **Synchronize Changes** Π² [ΡΡΠ°ΡΡΡ-Π±Π°ΡΠ΅](https://code.visualstudio.com/docs/editor/versioncontrol#_git-status-bar-actions) Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ).
Visual Studio Code + Python = Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Visual Studio Code β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΊΡΡΡΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
Π ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ IDE) Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Ρ?
ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ: [Python Development in Visual Studio Code](https://realpython.com/python-development-visual-studio-code/)
## ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Python:
- - [ΠΠΠ Π½Π° Python: ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ](https://proglib.io/p/python-oop/)
- [Π‘Π°ΠΌΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python](https://proglib.io/p/python-digest/)
- [100+ ΠΊΡΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python](https://proglib.io/p/great-python-projects/) |
| Shard | 143 (laksa) |
| Root Hash | 3994866760981830143 |
| Unparsed URL | io,proglib!/p/python-vscode s443 |