πŸ•·οΈ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 143 (from laksa143)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

πŸ“„
INDEXABLE
βœ…
CRAWLED
3 days ago
πŸ€–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.1 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://proglib.io/p/python-vscode
Last Crawled2026-04-03 12:34:39 (3 days ago)
First Indexed2019-07-04 04:02:45 (6 years ago)
HTTP Status Code200
Meta TitlePython + Visual Studio Code = ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
Meta DescriptionБупСрсСт Python ΠΈ Visual Studio Code Π² дСйствии! ПолноС руководство ΠΏΠΎ настройкС ΠΈ Π½Π°Ρ‡Π°Π»Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π»ΡƒΡ‡ΡˆΠ΅ΠΌ языкС Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.
Meta Canonicalnull
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://mc.yandex.ru/watch/41484404) ![Top.Mail.Ru](https://top-fwz1.mail.ru/counter?id=3237299;js=na) ![](https://www.facebook.com/tr?id=475176433864182&ev=PageView&noscript=1) [![]()]() - [Моя Π»Π΅Π½Ρ‚Π°](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://static.proglib.io/img/site/social/vk-fill.png) ![Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста - Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ](https://static.proglib.io/img/site/social/fb-fill.png) ![Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста - Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ](https://static.proglib.io/img/site/social/google.png) ![Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста - Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ](https://static.proglib.io/img/site/social/gh-fill.png) ![Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста - Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ](https://static.proglib.io/img/site/social/tg-fill.png) - - [НовоС](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) Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ... [![](https://static.proglib.io/img/site/social/tg.png) Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Python Ρ‚ΡƒΡ‚](https://t.me/pyproglib) ΠžΠ‘ΠͺΠ―Π’Π›Π•ΠΠ˜Π• Π₯ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Π²Ρ‹ΡΡˆΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ для освоСния Data Science? Π—Π°Ρ…ΠΎΠ΄ΠΈ Π½Π° наш курс с прСподаватСлями ΠœΠ“Π£\! [ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅](https://proglib.io/w/dd4b5415) ### [Π’ΠΠšΠΠΠ‘Π˜Π˜](https://proglib.io/vacancies/all) [Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ вакансию](https://proglib.io/vacancies/new) [![](https://media.proglib.io/companies/2026/03/16/f5ea51a3f44d43aed94cf35eeb0f11d4.jpeg)](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://static.proglib.io/img/site/duserpic.png)](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://static.proglib.io/img/site/duserpic.png)](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://static.proglib.io/img/site/duserpic.png)](https://proglib.io/u/admin) [admin](https://proglib.io/u/admin) 10 фСвраля 2019 ΠŸΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ # Python + Visual Studio Code = ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° БупСрсСт Python ΠΈ Visual Studio Code Π² дСйствии! ПолноС руководство ΠΏΠΎ настройкС ΠΈ Π½Π°Ρ‡Π°Π»Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π»ΡƒΡ‡ΡˆΠ΅ΠΌ языкС Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ![Python + Visual Studio Code = ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°](https://media.proglib.io/wp-uploads/2019/02/0-e1549739330589.png) [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://media.proglib.io/wp-uploads/2019/02/1.png) ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ СТСмСсячно обновляСтся ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ. Π’ Π½Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ встроСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков ΠΈ удобная [модСль Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ](https://code.visualstudio.com/docs/editor/extension-gallery). [ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс](https://code.visualstudio.com/docs/getstarted/userinterface) ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост ΠΈ понятСн. ![](https://media.proglib.io/wp-uploads/2019/02/2.png) ## 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) ![](https://media.proglib.io/wp-uploads/2019/02/3.png) А Π²ΠΎΡ‚ ΠΏΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΎΠΊ для ΠΏΡ€ΠΎΠΊΠ°Ρ‡ΠΊΠΈ 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://media.proglib.io/wp-uploads/2019/02/5.png) Π—Π΄Π΅ΡΡŒ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ## НачинаСм ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Для дСмонстрации возмоТностСй Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° напишСм "[Π Π΅ΡˆΠ΅Ρ‚ΠΎ ЭратосфСна](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): ``` На экранС это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: ![](https://media.proglib.io/wp-uploads/2019/02/6.png) ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ VS Code Π½Π΅ выдСляСт ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова языка, Π½Π΅ дополняСт, Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠΉ Π½ΡƒΠΆΠ΅Π½? Π‘Π΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ! ΠŸΡ€ΠΎΡΡ‚ΠΎ сСйчас Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π½Π΅ Π·Π½Π°Π΅Ρ‚, с ΠΊΠ°ΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Ρƒ Π½Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚ названия ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ **Untitled-1**. А Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ написано **Plain Text** (простой тСкст). Установка Python ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для этого достаточно просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. Для этого Ρƒ нас ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Ρ‚Ρ€ΠΈ способа: - мСню: **Π€Π°ΠΉΠ» - Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ** - горячая комбинация: `Ctrl+S` - ΠΏΠ°Π»ΠΈΡ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄: **File: Save File** Π”Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρƒ имя **sieve.py**. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ понял, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python, ΠΈ исправился: ![](https://media.proglib.io/wp-uploads/2019/02/7.png) Π’Π°ΠΊ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ появилась надпись **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 Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² дСйствии. ![](https://media.proglib.io/wp-uploads/2019/02/9.gif) 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** Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: ![](https://media.proglib.io/wp-uploads/2019/02/11.png) По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ 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** Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ![](https://media.proglib.io/wp-uploads/2019/02/13.png) ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ прилоТСниями 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**: ![](https://media.proglib.io/wp-uploads/2019/02/14.png) 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** Π»Π΅Π²ΠΎΠ³ΠΎ мСню: ![](https://media.proglib.io/wp-uploads/2019/02/15.png) Если Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° **.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) ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступны прямо ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса: ![](https://media.proglib.io/wp-uploads/2019/02/16.png) VS Code Ρ‚Π°ΠΊΠΆΠ΅ распознаСт измСнСния, внСсСнныС Π²Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ВсС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ **M**, Π° нСотслСТиваСмыС – **U**. Π‘ΠΈΠΌΠ²ΠΎΠ» **\+** ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сообщСниС ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ. ![](https://media.proglib.io/wp-uploads/2019/02/17.png) Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° 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://static.proglib.io/img/site/duserpic.png)](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://media.proglib.io/companies/2022/09/18/fa0912e7a22fec8bd2f732d6d96f29cc.jpg)](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://media.proglib.io/companies/2026/03/16/f5ea51a3f44d43aed94cf35eeb0f11d4.jpeg)](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 Π² дСйствии! ПолноС руководство ΠΏΠΎ настройкС ΠΈ Π½Π°Ρ‡Π°Π»Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π»ΡƒΡ‡ΡˆΠ΅ΠΌ языкС Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ![Python + Visual Studio Code = ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°](https://media.proglib.io/wp-uploads/2019/02/0-e1549739330589.png) [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://media.proglib.io/wp-uploads/2019/02/1.png) ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ СТСмСсячно обновляСтся ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ. Π’ Π½Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ встроСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков ΠΈ удобная [модСль Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ](https://code.visualstudio.com/docs/editor/extension-gallery). [ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс](https://code.visualstudio.com/docs/getstarted/userinterface) ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост ΠΈ понятСн. ![](https://media.proglib.io/wp-uploads/2019/02/2.png) ## 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) ![](https://media.proglib.io/wp-uploads/2019/02/3.png) А Π²ΠΎΡ‚ ΠΏΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΎΠΊ для ΠΏΡ€ΠΎΠΊΠ°Ρ‡ΠΊΠΈ 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://media.proglib.io/wp-uploads/2019/02/5.png) Π—Π΄Π΅ΡΡŒ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ## НачинаСм ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Для дСмонстрации возмоТностСй Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° напишСм "[Π Π΅ΡˆΠ΅Ρ‚ΠΎ ЭратосфСна](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): ``` На экранС это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: ![](https://media.proglib.io/wp-uploads/2019/02/6.png) ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ VS Code Π½Π΅ выдСляСт ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова языка, Π½Π΅ дополняСт, Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠΉ Π½ΡƒΠΆΠ΅Π½? Π‘Π΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ! ΠŸΡ€ΠΎΡΡ‚ΠΎ сСйчас Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π½Π΅ Π·Π½Π°Π΅Ρ‚, с ΠΊΠ°ΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Ρƒ Π½Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚ названия ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ **Untitled-1**. А Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ написано **Plain Text** (простой тСкст). Установка Python ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для этого достаточно просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. Для этого Ρƒ нас ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Ρ‚Ρ€ΠΈ способа: - мСню: **Π€Π°ΠΉΠ» - Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ** - горячая комбинация: `Ctrl+S` - ΠΏΠ°Π»ΠΈΡ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄: **File: Save File** Π”Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρƒ имя **sieve.py**. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ понял, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python, ΠΈ исправился: ![](https://media.proglib.io/wp-uploads/2019/02/7.png) Π’Π°ΠΊ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ появилась надпись **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 Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² дСйствии. ![](https://media.proglib.io/wp-uploads/2019/02/9.gif) 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** Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: ![](https://media.proglib.io/wp-uploads/2019/02/11.png) По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ 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** Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ![](https://media.proglib.io/wp-uploads/2019/02/13.png) ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ прилоТСниями 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**: ![](https://media.proglib.io/wp-uploads/2019/02/14.png) 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** Π»Π΅Π²ΠΎΠ³ΠΎ мСню: ![](https://media.proglib.io/wp-uploads/2019/02/15.png) Если Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° **.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) ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступны прямо ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса: ![](https://media.proglib.io/wp-uploads/2019/02/16.png) VS Code Ρ‚Π°ΠΊΠΆΠ΅ распознаСт измСнСния, внСсСнныС Π²Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ВсС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ **M**, Π° нСотслСТиваСмыС – **U**. Π‘ΠΈΠΌΠ²ΠΎΠ» **\+** ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сообщСниС ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ. ![](https://media.proglib.io/wp-uploads/2019/02/17.png) Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° 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/)
Shard143 (laksa)
Root Hash3994866760981830143
Unparsed URLio,proglib!/p/python-vscode s443