ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Visual Studio

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Python | PyCharm

PyCharm

ПослСднСС обновлСниС: 06.11.2020

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅ Π±Ρ‹Π»ΠΎ описано созданиС ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ скрипта Π½Π° языкС Python. Для создания скрипта использовался тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Π’ ΠΌΠΎΠ΅ΠΌ случаС это Π±Ρ‹Π» Notepad++. Но Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт использованиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ IDE.

IDE ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°ΠΌ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π°, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стандартных тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², IDE Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ подсвСтку синтаксиса, Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ подсказку ΠΊΠΎΠ΄Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ созданный скрипт, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Для Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных ΠΈΠ· Π½ΠΈΡ… являСтся срСда PyCharm, созданная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ JetBrains. Π­Ρ‚Π° срСда Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ развиваСтся, постоянно обновляСтся ΠΈ доступна для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм — Windows, MacOS, Linux.

ΠŸΡ€Π°Π²Π΄Π°, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅.

А ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° доступна Π² Π΄Π²ΡƒΡ… основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…: ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ выпуск Professional ΠΈ бСсплатный Community. МногиС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ возмоТности доступны ΠΈ Π² бСсплатном выпускС Community. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ряд возмоТностСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ»Π°Ρ‚Π½ΠΎΠΌ Professional.

Π’ нашСм случаС Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ бСсплатным выпуском Community. Для этого ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ установочный Ρ„Π°ΠΉΠ» PyCharm Community. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ установку.

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС открываСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ для этого Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Create New Project.

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ откроСтся ΠΎΠΊΠ½ΠΎ для настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΏΠΎΠ»Π΅ Location Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π’ ΠΌΠΎΠ΅ΠΌ случаС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΡƒ HelloApp. БобствСнно Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ PyCharm позволяСт Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΊ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ ΠΏΠΎΠ»Π΅ New Environment Using, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π—Π°Ρ‚Π΅ΠΌ всС устанавливаСмыС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли ΠΌΡ‹ создаСм нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΠ°Π΅Ρ‚ с ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ спСцифичСской вСрсиСй ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Но Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ Existing Interpreter ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° глобально для всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ прилоТСния Π½Π° PyCharm Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ установлСн ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠ΅Ρ€Ρ‚Π°Ρ‚ΠΎΡ€. Однако Π΄Π°Π½Π½ΠΎΠΌ ΠΆΠ΅ случаС оставим Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π»Π°ΠΆΠΎΠΊ New Environment Using ΠΈ ΠΏΠΎΠ΄ Π½ΠΈΠΌ Π² ΠΏΠΎΠ»Π΅ Base Interpreter ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, установка ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅.

ПослСдняя опция Create a main.py welcome script позволяСт сразу ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ» main.py.

И послС установки всСх ΠΏΡƒΡ‚Π΅ΠΉ Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Create для создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ПослС этого Π±ΡƒΠ΄Π΅Ρ‚ создан пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

Π’ Ρ†Π΅Π½Ρ‚Ρ€Π΅ срСды Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» main.py с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ содСрТимым ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Для этого ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° main.py ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


name = input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ вашС имя: ")
print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚,", name)

Для запуска скрипта Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° Π·Π΅Π»Π΅Π½ΡƒΡŽ стрСлку Π² ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π’Π°ΠΊΠΆΠ΅ для запуска ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² мСню Run ΠΈ Ρ‚Π°ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ Run ‘main’)

ПослС этого Π²Π½ΠΈΠ·Ρƒ IDE отобразится ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°, Π³Π΄Π΅ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ввСсти имя ΠΈ Π³Π΄Π΅ послС этого Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ привСтствиС:

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Visual Studio

Python Π² Visual Studio

ПослСднСС обновлСниС: 13.05.2017

Одной ΠΈΠ· срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Python, являСтся Visual Studio. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ IDE ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ, скаТСм, с PyCharm, слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π΅Π΅ бСсплатной Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ VS 2019 Community бСсплатно доступны ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ PyCharm доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ»Π°Ρ‚Π½ΠΎΠΉ вСрсии Professional Edition. НапримСр, это Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π² Ρ‚ΠΎΠΌ числС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя срСдства ля Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Python Π² Visual Studo доступны ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² вСрсии для Windows.

Π˜Ρ‚Π°ΠΊ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ установочный Ρ„Π°ΠΉΠ» Visual Studio 2019 Community ΠΏΠΎ ссылкС https://visualstudio.microsoft.com/downloads/. ПослС запуска установочного Ρ„Π°ΠΉΠ»Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ срСди устанавливаСмых ΠΎΠΏΡ†ΠΈΠΉ Python:

ПослС установки Visual Studio запустим Π΅Π΅. Π’ мСню Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡƒΠ½Ρ‚ File (Π€Π°ΠΉΠ») -> New (Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ) -> Project (ΠŸΡ€ΠΎΠ΅ΠΊΡ‚), ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ откроСтся ΠΎΠΊΠ½ΠΎ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ этом ΠΎΠΊΠ½Π΅ Π² Π»Π΅Π²ΠΎΠΌ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌ мСню ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ языку Python:

Π’Ρ‹Π±Ρ€Π°Π² слСва Python, Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΎΠΊΠ½Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±ΠΎΠ³Π°Ρ‚ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ языкС программирования. Π­Ρ‚ΠΎ ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚.Π΄. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΆΠ΅ случаС Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π² качСствС Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Python Application, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ простых ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ HelloApp. НаТмСм Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ OK, ΠΈ Visual Studio создаст Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

Π‘ΠΏΡ€Π°Π²Π° Π² ΠΎΠΊΠ½Π΅ Solution Explorer (ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ здСсь ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

  • Python Environments: здСсь ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ срСды, Π² частности, здСсь ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ свСдСния ΠΎ компиляторС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

  • References: Π² этот ΡƒΠ·Π΅Π» ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ всС внСшниС зависимости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ

  • Search Paths: этот ΡƒΠ·Π΅Π» позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ поиска для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python

  • HelloApp.py: собствСнно Ρ„Π°ΠΉΠ» Python с исходным ΠΊΠΎΠ΄ΠΎΠΌ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Visual Studio ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» HelloApp.py, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ° пуст. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:


print("Hello Python from Visual Studio!")

И Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° Π·Π΅Π»Π΅Π½ΡƒΡŽ стрСлочку для запуска:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запуска отобразится консоль, которая Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ строку:

ПишСм 3 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python Π·Π° ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚

ΠŸΠΈΡ‚ΠΎΠ½ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык ΠΈ сСгодня ΠΌΡ‹ с Π²Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ сразу Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΅Π³ΠΎ основС. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ смоТСтС ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² дальнСйшСм.

#1 — ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ трансфСром для Ρ„Π°ΠΉΠ»ΠΎΠ². Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для автоматичСской сортировки Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΈΡ‚ΠΎΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹ отслСТиваСтС Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΠ°Π» Π² ΠΏΠ°ΠΏΠΊΡƒ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΒ» ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автоматичСски ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΌΡƒΠ·Ρ‹ΠΊΠ°, Ρ„ΠΎΡ‚ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° самого Ρ„Π°ΠΉΠ»Π°.

Для выполнСния Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ спСрва ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Β«watchdogΒ»:

pip install watchdog

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅ вмСстС с коммСнтариями:

# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
from watchdog.observers import Observer
import os
import time
# FileSystemEventHandler - класс ΠΏΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
from watchdog.events import FileSystemEventHandler


# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ класс наслСдник, Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² ΠΏΠ°ΠΏΠΊΠ°Ρ…
class Handler(FileSystemEventHandler):
	# ΠŸΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… измСнСниях Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π΅ΠΉ
	def on_modified(self, event):
		# ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅ folder_track
		for filename in os. listdir(folder_track):
			# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π΅ΠΈ Ρ„Π°ΠΉΠ»Π°
			extension = filename.split(".")
			# Если это Ρ„ΠΎΡ‚ΠΎ,
			if len(extension) > 1 and (extension[1].lower() == "jpg" or extension[1].lower() == "png" or extension[1].lower() == "svg"):
				# Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡƒ с Ρ„ΠΎΡ‚ΠΎ
				file = folder_track + "/" + filename
				new_path = folder_dest + "/Photos/" + filename
				os.rename(file, new_path)
			# Если Ρ„Π°ΠΉΠ» Π²ΠΈΠ΄Π΅ΠΎ, Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΡƒ с Π²ΠΈΠ΄Π΅ΠΎ
			# Π’Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²
			elif len(extension) > 1 and extension[1].lower() == "mp4":
				file = folder_track + "/" + filename
				new_path = folder_dest + "/Videos/" + filename
				os.rename(file, new_path)


# Папка Ρ‡Ρ‚ΠΎ отслСТиваСтся
folder_track = '/ΠŸΠžΠ›ΠΠ«Π™_ПУВЬ_К_ВАШЕЙ_ΠŸΠΠŸΠšΠ•'
# Папка ΠΊΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ
folder_dest = '/ΠŸΠžΠ›ΠΠ«Π™_ПУВЬ_К_ВАШЕЙ_ΠŸΠΠŸΠšΠ•'

# Запуск всСго Π½Π° отслСТиваниС
handle = Handler()
observer = Observer()
observer.schedule(handle, folder_track, recursive=True)
observer.start()

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10 милисСкунд 
try:
	while(True):
		time.
sleep(10) except KeyboardInterrupt: observer.stop() observer.join()

#2 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвСра

Наша вторая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ· сСбя ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСрвСр, созданный с использованиСм лишь Python, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Django ΠΈΠ»ΠΈ Flask.

Π§Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎ, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ сСрвСр ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ лишь встроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Python. Для этого ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΠ· http.server Π΄Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… классах. Π”Π°Π»Π΅Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Β«localhostΒ» ΠΈ ΠΏΠΎΡ€Ρ‚ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΈ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° основС HTTPServer. ПослС этого запускаСм сСрвСр Π½Π° постоянноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

from http.server import HTTPServer, CGIHTTPRequestHandler
server_data = ("localhost", 8080)
server = HTTPServer(server_data, CGIHTTPRequestHandler)
server.serve_forever()

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Β«index.htmlΒ» ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π΅ΠΌ всю Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ. На страницС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ содСрТимоС ΠΈΠ· этого Ρ„Π°ΠΉΠ»Π°.

#3 — Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ это ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Β«SeleniumΒ» Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»:Β 

pip install selenium

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π± Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчит Ρ€Π°Π±ΠΎΡ‚Ρƒ с вашим Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ.

Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ страницС Selenium. Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ всС Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, Π΄Π°Π»Π΅Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ послСднюю ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ скачиваСтС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠ΄ Π²Π°ΡˆΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ страницы:

from selenium import webdriver
browser = webdriver.Chrome('/ПУВЬ_К_ΠŸΠΠŸΠšΠ•_Π‘_Π”Π ΠΠ™Π’Π•Π ΠžΠœ/chromedriver')
browser.get("https://itproger.com")

Π’ΠΈΠ΄Π΅ΠΎ Π½Π° эту Ρ‚Π΅ΠΌΡƒ

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ всСх этих Ρ‚Ρ€Ρ‘Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:


Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ курс

На нашСм сайтС Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½Ρ‹ΠΉ курс ΠΏΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ языка ΠŸΠΈΡ‚ΠΎΠ½. Π’ Ρ…ΠΎΠ΄Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ язык ΠŸΠΈΡ‚ΠΎΠ½, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Π± сайты Π·Π° счёт Π²Π΅Π± Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π”ΠΆΠ°Π½Π³ΠΎ. Π—Π° курс Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ массу Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с языком ΠŸΠΈΡ‚ΠΎΠ½, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π½Ρ‘ΠΌ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ПК прилоТСния Π½Π° основС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Kivy, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Π± сайты Π½Π° основС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π”ΠΆΠ°Π½Π³ΠΎ.

HOW-TO: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, Π§Π°ΡΡ‚ΡŒ 1

НабСрём ΠΊΠΎΠ΄ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² gedit). ΠŸΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ разбСрёмся, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ каТдая строка ΠΈ ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ дальшС.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ эти 4 строки:

#!/usr/bin/env python3
print ("Hello. I am a python program.")
name = input("What is your name?")
print ("Hello there, " + name + "!")

Π­Ρ‚ΠΎ всё. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ hello.py Π² любом мСстС. Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ python_examples Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python. Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ Ρ„Π°ΠΉΠ» исполняСмым. Для этого Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

chmod +x hello.py

Π² ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ сохранили ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС Π΅Ρ‘.

greg@earth:~/python_examples$ ./hello.py
Hello. I am a python program.
What is your name? Ferd Burphel
Hello there, Ferd Burphel!
greg@earth:~/python_examples$

Π’ΠΎΡ‚ ΠΈ всё. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ каТдая строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

#!/usr/bin/env python3

Π­Ρ‚Π° строка сообщаСт систСмС, Ρ‡Ρ‚ΠΎ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python вСрсии 3.

print ("Hello. I am a python program.")

Π­Ρ‚Π° строка просто ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Hello. I am a python program.

name = input("What is your name? ")

Π­Ρ‚Π° строка Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. Π’ Π½Π΅ΠΉ Π΄Π²Π΅ части. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ: name = ΠΈ вторая Ρ‡Π°ΡΡ‚ΡŒ: input(«What is your name? «). Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Команда input ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ вопрос Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ (Β«What is your name? Β») ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (Π²Ρ‹) Π½Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ (ΠΈ Π½Π΅ Π½Π°ΠΆΠΌΡ‘Ρ‚ {Enter}). Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: name =. Она создаёт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«nameΒ». Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная? ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС Π² Π²ΠΈΠ΄Π΅ ящика. Π’ ящикС ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ: Π±ΠΎΡ‚ΠΈΠ½ΠΊΠΈ, части ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π±ΡƒΠΌΠ°Π³ΠΈ, всё, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΠ΄Π° Π²Π»Π΅Π·Π΅Ρ‚. Π―Ρ‰ΠΈΠΊΡƒ всё Ρ€Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ β€” ΠΎΠ½ΠΎ просто Π»Π΅ΠΆΠΈΡ‚ Ρ‚Π°ΠΌ. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚Π΅. Π― Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π» Ferd Burphel. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Python просто Π±Π΅Ρ€Ρ‘Ρ‚ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ сохраняСт Π΅Π³ΠΎ Π² ящикС Β«nameΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² дальнСйшСм.

print ("Hello there, " + name + "!")

Π’ этой строкС ΠΌΡ‹ ΠΎΠΏΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ print для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π½Π° экран, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС для Π²Ρ‹Π²ΠΎΠ΄Π° Β«Hello there, Β» ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«nameΒ» ΠΈ Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° Π² ΠΊΠΎΠ½Ρ†Π΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ строкС ΠΌΡ‹ соСдиняСм Ρ‚Ρ€ΠΈ куска тСкста: Β«Hello thereΒ», ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«nameΒ» ΠΈ Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ быстро обсудим Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлали, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

python3

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ этого:

greg@earth:~/python_examples$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ python. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия, Π½ΠΎ для Π½Π°Ρ‡Π°Π»Π° разбСрёмся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python β€” Ρƒ мСня стоит 3.4.3. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для получСния справки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Β«helpΒ» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π­Ρ‚ΠΎ я ΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π’Π°ΠΌ Π² качСствС домашнСго задания. А ΠΏΠΎΠΊΠ° Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

print (2+2)

ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

print (2+2)
4

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π°Π±Ρ€Π°Π»ΠΈ слово Β«printΒ» Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС. Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Β«Print (2+2)Β»? Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Print (2+2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Print' is not defined

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ слово Β«printΒ» являСтся зарСгистрированной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π° слово Β«PrintΒ» Π½Π΅ являСтся Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ. Для Python рСгистр ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΅Ρ‰Ρ‘ Ρ€Π°Π·. Π’Π²Π΅Π΄ΠΈΡ‚Π΅:

var = 2+2

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Python ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Β«>>>Β». Всё Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠœΡ‹ ΠΏΠΎΡ€ΡƒΡ‡ΠΈΠ»ΠΈ Python ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (ящик) ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«varΒ» ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² Π½Π΅Ρ‘ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния Β«2+2Β». Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ находится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«varΒ», Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

print (var)

ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

print (var)
4

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Β«varΒ» ΠΊΠ°ΠΊ число 4. НапримСр, Ρ‚Π°ΠΊ:

print (var * 2)
8

Если ΠΌΡ‹ снова Π½Π°Π±Π΅Ρ€Ρ‘ΠΌ Β«print (var)Β», Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

print (var)
4

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Β«varΒ» Π½Π΅ измСнилась. Π’ Π½Π΅ΠΉ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ сумма 2+2, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 4.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‡Π΅Π½ΡŒ простая ΠΈ написана для этого ΡƒΡ€ΠΎΠΊΠ° для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ станут Π±ΠΎΠ»Π΅Π΅ слоТными. А сСйчас Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Ρ‰Ρ‘ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅:

strng = 'The time has come for all good men to come to the aid of the party!'
print (strng)
The time has come for all good men to come to the aid of the party!

Π’Ρ‹ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«strngΒ», которая содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«The time has come for all good men to come to the aid of the party!Β». Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° (ΠΏΠΎΠΊΠ° ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с этим экзСмпляром ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°) пСрСмСнная Β«strngΒ» Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π΅Ρ‘ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π° 4?

print (strng * 2)
The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π½Π΅ совсСм Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ. Python Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«strngΒ» 2 Ρ€Π°Π·Π°. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ пСрСмСнная Β«strngΒ» β€” это строка, Π° Π½Π΅ число. НСвозмоТно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ строками.

Если Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»Π° пСрСмСнная ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«sΒ», которая содСрТала Π±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«4Β» ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

s = '4'
print (s)
4

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ пСрСмСнная Β«sΒ» содСрТит число 4, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. Она содСрТит тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«4Β». И Ссли ΠΌΡ‹ Π½Π°Π±Π΅Ρ€Π΅ΠΌ Β«print (s * 4)Β», Ρ‚ΠΎ получим…

print (s*4)
4444

Π‘Π½ΠΎΠ²Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная Β«sΒ» β€” это строка, Π° Π½Π΅ число. Он Π·Π½Π°Π΅Ρ‚ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ взяли число 4 Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ являСтся строкой. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это, Π½Π°Π±Ρ€Π°Π² Β«print type(s)Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ систСма присвоила Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

print (type(s))
<class 'str'>

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ «строка». Если ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² качСствС числа, Ρ‚ΠΎ ΠΌΡ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

print (int(s) * 4)
16

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Β«sΒ», содСрТащая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«4Β», ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² число ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π° Π½Π° 4, Ρ‡Ρ‚ΠΎ Ρ€Π°Π²Π½ΠΎ 16.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ Вас Π΅ΡΡ‚ΡŒ основныС знания ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… print ΠΈ input, создании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ строками ΠΈ числами.

ΠŸΠΎΠΉΠ΄Ρ‘ΠΌ дальшС. Π’ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ Python Π²Π²Π΅Π΄ΠΈΡ‚Π΅ quit() для Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ программирования Ρ†ΠΈΠΊΠ»Π°. ЗапуститС тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

#!/usr/bin/env python3
for cntr in range(0,10):
    print (cntr)

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ символ табуляции ΠΏΠ΅Ρ€Π΅Π΄ строкой Β«print (cntr)Β». Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ. Π’ Python для указания Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ Β«(Β» ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ Β«{Β» скобки ΠΊΠ°ΠΊ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π° отступы.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«for_loop. pyΒ». Π”ΠΎ Π΅Ρ‘ запуска Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ†ΠΈΠΊΠ» Β«forΒ».

Π¦ΠΈΠΊΠ» β€” это ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ инструкций ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ число Ρ€Π°Π·. Π’ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Ρ†ΠΈΠΊΠ» 10 Ρ€Π°Π·, пСчатая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ». Π’ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° русский язык Β«ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ», ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ» 1 ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ это 10 Ρ€Π°Π·Β». Выглядит довольно просто. Π§Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Β«range(0,10)Β» Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Π½Π°Ρ‡Π°Ρ‚ΡŒ с 0, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 10, ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

chmod +x for_loop.py

ΠΈ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

./for_loop.py

Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

greg@earth:~/python_examples$ ./for_loop.py
0
1
2
3
4
5
6
7
8
9
greg@earth:~/python_examples$

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½Π° считаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ 9 ΠΈ останавливаСтся? ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π΅Ρ‘ Π²Ρ‹Π²ΠΎΠ΄. НапСчатано 10 Ρ†ΠΈΡ„Ρ€: ΠΎΡ‚ 0 Π΄ΠΎ 9. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ: Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«cntrΒ» 10 Ρ€Π°Π·, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· добавляя Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 10.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ простым, Ρ‚Π°ΠΊ ΠΈ слоТным. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«rangeΒ» Π½Π° Β«range(1,10)Β», ΠΎΠ½Π° Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с 1, Π½ΠΎ остановится Π½Π° 9, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ достиТСнии Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΏΠΎΡ€ΠΎΠ³Π° (10) Ρ†ΠΈΠΊΠ» прСрываСтся. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Β«1,2,3,4,5,6,7,8,9,10Β», Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Β«range(1,11)Β», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» Β«forΒ» прСрываСтся ΠΏΡ€ΠΈ достиТСнии Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ числа Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«rangeΒ».

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° синтаксис Ρ†ΠΈΠΊΠ»Π°. Π”Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«for пСрСмСнная in range(Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅,ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅):Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ смСщСн Π²ΠΏΡ€Π°Π²ΠΎ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Β«:Β» ΠΈ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²ΠΏΡ€Π°Π²ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π±Π»ΠΎΠΊΠ° β€” это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ.

Если ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

#!/usr/bin/env python
for cntr in range(1,11):
    print (cntr)
print ("All Done")

ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° экранС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

greg@earth:~/python_examples$ . /for_loop.py
1
2
3
4
5
6
7
8
9
10
All Done
greg@earth:~/python_examples$

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ влоТСнности. Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅: ΠΎΡ‚ Π½ΠΈΡ… зависит Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ². Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим ΡƒΡ€ΠΎΠ²Π½ΠΈ влоТСнности.

На сСгодня Ρ…Π²Π°Ρ‚ΠΈΡ‚. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ языка Python. А ΠΏΠΎΠΊΠ°, Π²Π°ΠΌ стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ для Python, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Dr. Python ΠΈΠ»ΠΈ SPE (Stani’s Python Editor). ОбС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π² Synaptic.


Π―Π·Ρ‹ΠΊ Python. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ знакомство. Π§Π°ΡΡ‚ΡŒ 1. Для ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² 4-5 классов

Π―Π·Ρ‹ΠΊ Python. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ знакомство.

О языкС Python

PythonΒ β€” соврСмСнный язык программирования, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° всСх распространСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π―Π·Ρ‹ΠΊ программирования ΠŸΠΈΡ‚ΠΎΠ½ разрабатываСтся Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ‚. Π’ настоящСС врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π΅ вСрсии языка β€” Π±ΠΎΠ»Π΅Π΅ старая вСрсия 2 ΠΈ соврСмСнная вСрсия. ВСрсия 2 Π±ΠΎΠ»Π΅Π΅ Π½Π΅ развиваСтся, Π½ΠΎ Π΄ΠΎ сих ΠΏΠΎΡ€ Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ для вСрсии 2. ΠœΠ΅ΠΆΠ΄Ρƒ вСрсиями Π΅ΡΡ‚ΡŒ сущСствСнная Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Π² Ρ‚ΠΎΠΌ числС Π² синтаксисС ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС Python 2-ΠΉ вСрсии ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² 3-ΠΉ вСрсии ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚), Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ. ΠœΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ 3, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΡƒΡŽ.

PythonΒ β€” соврСмСнный ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования. Π•Π³ΠΎ достоинства:

  1. ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ.

  2. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис ΠΈ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ возмоТности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя понятно.

  3. По простотС освоСния язык сравним с бСйсиком, Π½ΠΎ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚ возмоТностями ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ соврСмСнСн.

  4. Богатая стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚ΡŒΡŽ, GUI, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄.)

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ язык Python. C 2015 Π³ΠΎΠ΄Π° Π² тСкстах Π·Π°Π΄Π°Ρ‡ Π•Π“Π­ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ приводятся Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π½Π° языкС Python.Β 

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ задания Π•Π“Π­ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, сущСствСнно ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ с использованиСм языка Python, Ρ‡Π΅ΠΌ классичСских языков БСйсик, Паскаль, C/C++.

Π Π•ΠšΠžΠœΠ•ΠΠ”Π£Π•ΠœΠΠ― Π›Π˜Π’Π•Π ΠΠ’Π£Π Π

  • ΠœΠ°Ρ€ΠΊ Π›ΡƒΡ‚Ρ†. Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ Python. 4-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ – ΠΎΡ‡Π΅Π½ΡŒ толстый ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ.

  • ΠœΠ°Ρ€ΠΊ Π‘Π°ΠΌΠΌΠ΅Ρ€Ρ„ΠΈΠ»Π΄. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python 3 – ΠΌΠ΅Π½Π΅Π΅ толстый, Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ

PythonΒ β€” ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ достаточно распространСнный язык программирования. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… качСствах: ΠΊΠ°ΠΊ основной язык программирования ΠΈΠ»ΠΈ для создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для написания скриптов. На Python Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

МногиС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python для написания своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡ… частСй. Π‘Ρ€Π΅Π΄ΠΈ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Python Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…:

  • CherryPy β€” срСда для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

  • Django β€” срСда для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

  • Google App Engine β€” Google-хостинг

  • Matplotlib β€” визуализация Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² стилС MATLAB

  • BitTorrent β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр для популярного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Ρ„Π°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½Ρ‹Ρ… сСтСй.

  • Dropbox β€” ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ синхронизации Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° мноТСствС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python для написания скриптов:

  • ВикипСдия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python для написания Π±ΠΎΡ‚ΠΎΠ²

  • OpenOffice.org β€” Π½Π°Π±ΠΎΡ€ офисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Microsoft Office

  • Vim β€” тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Python Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ (Eve Online, Civilization IV ΠΈ Π΄Ρ€. )

Бинтаксис языка Python, ΠΊΠ°ΠΊ ΠΈ сам язык, ΠΎΡ‡Π΅Π½ΡŒ прост. Он Π½Π΅ содСрТит слоТных Π½Π΅ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… конструкций, поэтому достаточно прост Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ†ΠΈΠΏΡ‹ синтаксиса языка Python

  1. ΠšΠΎΠ½Π΅Ρ† строки являСтся ΠΊΠΎΠ½Ρ†ΠΎΠΌ инструкции (Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Π½Π΅ трСбуСтся).

ΠŸΠ Π˜ΠœΠ•Π 

a = 5Β 
b = 3Β 
print(a + b)

  1. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ инструкции ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ отступов. ΠžΡ‚ΡΡ‚ΡƒΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ, Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° отступ Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ².Β 

ΠŸΠ Π˜ΠœΠ•Π 

if a == 5:Β 
Β  Β  Β  Β  print(‘yes’)
Β  Β  Β  Β  a += 1

  1. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ инструкции Π² Python Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ шаблоном, ΠΊΠΎΠ³Π΄Π° основная инструкция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ, вслСд Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ располагаСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с отступом ΠΏΠΎΠ΄ строкой основной инструкции.

Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

Для считывания строки со стандартного Π²Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция input(), которая считываСт строку с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ считанной строки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сразу ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ:

a = input()
b = input()

ΠŸΡ€Π°Π²Π΄Π°, функция input Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку. Если Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π»ΠΈ цСлочислСнныС значСния, Ρ‚ΠΎ сразу ΠΆΠ΅ послС считывания Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½Ρ†ΠΊΠΈΠΈ int, ΠΈ запишСм Π½ΠΎΠ²Ρ‹Π΅ значСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a ΠΈ b:

a = int(a)
b = int(b)

МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ считываниС строк ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Ссли Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ int для Ρ‚ΠΎΠ³ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ функция input():

a = int(input())
b = int(input())

Π‘Π»ΠΎΠΆΠ½Π΅Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ссли ΠΎΠ½ΠΈ записаны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС. Π—Π΄Π΅ΡΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ считанной строкС ΠΌΠ΅Ρ‚ΠΎΠ΄Β split(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ раздСляСт строку Π½Π° части ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌ. Π—Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ присвоим ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чисСл. НапримСр, Ссли Π² строкС вводятся Π΄Π²Π° числа Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π», Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

a, b = input().split()
a = int(a)
b = int(b)

Аналогично, Ρ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, записав слСва ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

a, b, c = input(). split()

МоТно Ρ‚Π°ΠΊΠΆΠ΅ сразу ΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ считанныС значСния Π² числовой Ρ‚ΠΈΠΏ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, int), Ссли Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ map, которая примСняСт ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту списка Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (для прСобразования ΠΊ Ρ‚ΠΈΠΏΡƒ int Π½ΡƒΠΆΠ½ΠΎ, соотвСтствСнно, Π·Π°Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ int для примСнСния ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту). Для Π½Π°Ρ‡Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

a, b, c = map(int, input().split())

Π’Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

Для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция printΒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ значСния Π»ΡŽΠ±Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. НапримСр, допустима запись print(2 + 2 ** 2). Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

a = 1Β 
b = 2Β 
print(a, ‘+’, b, ‘=’, a + b)

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ тСкст 1 + 2 = 3: сначала выводится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a, Π·Π°Ρ‚Π΅ΠΌ строка ΠΈΠ· Π·Π½Π°ΠΊΠ° β€œ+”, Π·Π°Ρ‚Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b, Π·Π°Ρ‚Π΅ΠΌ строка ΠΈΠ· Π·Π½Π°ΠΊΠ° β€œ=”, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ суммы a + b.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. Но Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ значСния двумя ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ символом, любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкой, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊ. Для этого Π½ΡƒΠΆΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉΒ sep, Ρ€Π°Π²Π½Ρ‹ΠΉ строкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² качСствС раздСлитСля (sep β€” Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΎΡ‚ слова separator, Ρ‚.Π΅. Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ sep Ρ€Π°Π²Π΅Π½ строкС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями выводится ΠΏΡ€ΠΎΠ±Π΅Π». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС раздСлитСля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символ двоСточия Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ sep, Ρ€Π°Π²Π½Ρ‹ΠΉ ΡΡ‚Ρ€ΠΎΠΊΠ΅Β β€˜:’:

print(a, b, c, sep = ‘:’)

Аналогично, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ совсСм ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ sep, Ρ€Π°Π²Π½Ρ‹ΠΉ пустой строкС:

print(a, ‘+’, b, ‘=’, a + b, sep = »)

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ значСния Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ с Π½ΠΎΠ²ΠΎΠΉ строкС, Π½ΡƒΠΆΠ½ΠΎ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° sep ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ строку, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа Π½ΠΎΠ²ΠΎΠΉ строки, которая задаСтся Ρ‚Π°ΠΊ:

print(a, b, sep = ‘\n’)

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слэша Π² тСкстовых строках являСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ символ записан послС Π½Π΅Π³ΠΎ. НаиболСС часто употрСбляСтся символ Π½ΠΎΠ²ΠΎΠΉ ΡΡ‚Ρ€ΠΎΠΊΠΈΒ β€˜\n’. А для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² строку сам символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слэша, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π²Π° Ρ€Π°Π·Π°:Β β€˜\\’.

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print являСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Β end, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ выводится послС Π²Ρ‹Π²ΠΎΠ΄Π° всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, пСрСчислСнных Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ end Ρ€Π°Π²Π΅Π½ β€˜\n’, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½ΠΎΠ²ΠΎΠΉ строки. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ всС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print Ρ‚Π°ΠΊ:

print(a, b, c, sep = », end = »)


Π—Π°Π΄Π°Ρ‡Π° 1. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

УстановитС соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚.

Начало Ρ„ΠΎΡ€ΠΌΡ‹

int()

str()

input()

print()

ΠšΠΎΠ½Π΅Ρ† Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² число Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок

ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² строку Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок

Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π° экран

Π—Π°Π΄Π°Ρ‡Π° 2. Бписки – ΠΊΠΎΠΌΠΎΠ΄Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΎΠ΄. Π’ языкС python Ρ€ΠΎΠ»ΡŒ ΠΊΠΎΠΌΠΎΠ΄Π° ΠΈΠ³Ρ€Π°ΡŽΡ‚ списки. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Family = [‘ΠΌΠ°ΠΌΠ°’, ‘ΠΏΠ°ΠΏΠ°’, ‘Π±Π°Π±ΡƒΡˆΠΊΠ°’, ‘Π΄Π΅Π΄ΡƒΡˆΠΊΠ°’, ‘я’]

создаст «ΠΊΠΎΠΌΠΎΠ΄» Family с ΠΏΡΡ‚ΡŒΡŽ ящиками. Π’ ящикС β„–0 хранится строка ‘ΠΌΠ°ΠΌΠ°’, Π² ящикС β„–1 хранится строка ‘ΠΏΠ°ΠΏΠ°’, ΠΈ Ρ‚.Π΄. НумСрация ящиков начинаСтся с 0.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ содСрТимому ящика ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Β 

Family = [‘ΠΌΠ°ΠΌΠ°’, ‘ΠΏΠ°ΠΏΠ°’, ‘Π±Π°Π±ΡƒΡˆΠΊΠ°’, ‘Π΄Π΅Π΄ΡƒΡˆΠΊΠ°’, ‘я’]
print(Family[0])

Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ слово мама.

Π§Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Family = [‘ΠΌΠ°ΠΌΠ°’, ‘ΠΏΠ°ΠΏΠ°’, ‘Π±Π°Π±ΡƒΡˆΠΊΠ°’, ‘Π΄Π΅Π΄ΡƒΡˆΠΊΠ°’, ‘я’]
print(Family[3])

Подсказка 1 из 2

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запуститС.

Подсказка 2 из 2

Π‘Ρ‚Ρ€ΠΎΠΊΠ° выводится Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: Π΄Π΅Π΄ΡƒΡˆΠΊΠ°

Π—Π°Π΄Π°Ρ‡Π° 3. ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

КакоС число Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ вмСсто Π·Π½Π°ΠΊΠ° вопроса Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

for i in range(1, ?):
Β  Β  print(‘Hello!’)Β 

Ρ‡Ρ‚ΠΎΠ±Ρ‹ строка Hello! Π±Ρ‹Π»Π° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π° 17 Ρ€Π°Π·?

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ

range(1, 11) создаСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл 1, 2, …, 10 (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΡ‚ 1 Π΄ΠΎ 11, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΈ этом 11). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, вмСсто Π·Π½Π°ΠΊΠ° вопроса Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ число Π½Π° 1 большСС Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ количСства ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, 18.Β 

Π—Π°Π΄Π°Ρ‡Π° 4. Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ строк

Π’ языкС python строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ слоТСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠΆΠ΅ строка, состоящая ΠΈΠ· Π΄Π²ΡƒΡ… слагаСмых, записанных Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. НапримСр, напишСм Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

a = ‘Fox’
b = ‘Ford’
c = a + b
print(c)Β 

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ c Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ строка ‘FoxFord’ (Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сначала записываСтся пСрвая строка a, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊ Π½Π΅ΠΉ приписываСтся вторая строка b).

Π Π°Π· ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ:

a = ‘Fox’
c = a * 3
print(c)Β 

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ строка ‘FoxFoxFox’ (ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 3 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°).

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Β 

a = ‘Fox’
a = a * 2
b = ‘Ford’
b = b * 3
c = b + a
print(c)

Β 

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

a = ‘Fox’
a = a * 2Β 

Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ aΒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ строка ‘FoxFox’.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

b = ‘Ford’
b = b * 3Β 

Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ bΒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ строка ‘FordFordFord’.

c = b + a

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сначала записываСтся строка b, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊ Π½Π΅ΠΉ (Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»Π°!) приписываСтся строка a.

ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ, поэтому Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎΒ FordFordFordFoxFox.

Π—Π°Π΄Π°Ρ‡Π° 5. ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡ

Π’ языкС python строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° a = ‘123’ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π² числовыС, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, числа ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π² строки. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ int() ΠΈ str(). НапримСр.

a = 123 # это число
a = str(a) # ΡƒΠΆΠ΅ строка
a = int(‘321’) # ΠΎΠΏΡΡ‚ΡŒ число, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.Β 

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Β 

a = ‘111’
a = int(a)
a = a + 5
a = str(a)
a = a + ‘7’
print(a)

Β 

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ

МоТно просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ Ρ‚Π°ΠΊ:

a = ‘111’ # сСйчас это строка

a = int(a) # Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это число 111

a = a + 5 # Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это число 116

a = str(a) # Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это строка

a = a + ‘7’ # приписали ΠΊ строкС Π΅Ρ‰Π΅ символ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ строку 1167

print(a) # Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ 1167

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡƒΠ³Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π°Ρ число

input(‘Π—Π°Π³Π°Π΄Π°ΠΉ число! НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘Π’Ρ‹Ρ‡Ρ‚ΠΈ ΠΈΠ· своСго числа 3. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡƒΠΌΠ½ΠΎΠΆΡŒ Π½Π° 2. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘К ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ числу ΠΏΡ€ΠΈΠ±Π°Π²ΡŒ 7. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
ans = input(‘А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ скаТи, Ρ‡Ρ‚ΠΎ Ρƒ тСбя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.’)
print(‘Π’Ρ‹ Π·Π°Π΄ΡƒΠΌΠ°Π» число’, (int(ans) — 7) // 2 + 3)

2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΡ‚Π³Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π΄Π°Ρ‚Ρƒ роТдСния

D = {1: ‘января’, 2:’фСвраля’, 3:’ΠΌΠ°Ρ€Ρ‚Π°’, 4:’апрСля’, 5:’мая’, 6:’июня’, 7:’июля’, 8:’августа’, 9:’сСнтября’, 10:’октября’, 11:’ноября’, 12:’дСкабря’}
input(‘ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π― ΠΎΡ‚Π³Π°Π΄Π°ΡŽ Π΄Π°Ρ‚Ρƒ Ρ‚Π²ΠΎΠ΅Π³ΠΎ роТдСния. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘УмноТь дСнь, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ родился, Π½Π° 2. Если Ρ‚Ρ‹ родился 15 фСвраля, ΡƒΠΌΠ½ΠΎΠΆΠ°ΠΉ Π½Π° 2 число 15. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ². ‘)
input(‘К Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ΠΏΡ€ΠΈΠ±Π°Π²ΡŒ 5. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ число ΡƒΠΌΠ½ΠΎΠΆΡŒ Π½Π° 50. НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
input(‘К Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ΠΏΡ€ΠΈΠ±Π°Π²ΡŒ Π½ΠΎΠΌΠ΅Ρ€ мСсяца, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ родился (число ΠΎΡ‚ 1 Π΄ΠΎ 12). НаТми enter, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ².’)
ans = int(input(‘А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ скаТи, Ρ‡Ρ‚ΠΎ Ρƒ тСбя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.’))
ans = ans — 250
print(‘Π’Ρ‹ родился’, ans//100, D[ans
% 100])


3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π·Π°Π³Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π°Ρ число.

from random import*
print(‘Π― Π·Π°Π³Π°Π΄Π°Π» число ΠΎΡ‚ 1 Π΄ΠΎ 20. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ
ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ!’)
secret = randint(1, 20)
ans = int(input())
while ans != secret:
Β  Β  if ans > secret:
Β  Β  Β  Β  print(‘
Блишком большоС число!’)
Β  Β  else:
Β  Β  Β  Β  print(‘
ΠœΠ°Π»ΠΎΠ²Π°Ρ‚ΠΎβ€¦’)
Β  Β  ans = int(input(‘
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π΅Ρ‰Π΅ Ρ€Π°Π·!\n’))
print(‘ΠœΠΎΠ»ΠΎΠ΄Π΅Ρ†, ΡƒΠ³Π°Π΄Π°Π»!’)Β  Β Β 

4. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ

from random import *
import string
adjs = [‘green’, ‘blue’, ‘yellow’, ‘good’, ‘cold’]
nouns = [‘ball’, ‘panda’, ‘dinosaur’, ‘cat’, ‘dog’]

while True:
Β  Β  adj = choice(adjs)
Β  Β  noun = choice(nouns)
Β  Β  number = randint(1, 20)
Β  Β  special = choice(string.punctuation)

Β  Β  password = adj + noun + str(number) + special

Β  Β  print(‘Новый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ:’, password)Β  Β 

Β  Β  ans = input(‘НуТСн Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ? Π΄Π°/Π½Π΅Ρ‚\n’)
Β  Β  if ans == ‘
Π½Π΅Ρ‚‘:
Β  Β  Β  Β  break

Β 

Π—Π°Π΄Π°Ρ‡Π° 6. Найди ΠΎΡˆΠΈΠ±ΠΊΡƒ

ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Ρ‚Ρ€ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°. КакиС ΠΈΠ· Π½ΠΈΡ… написан

Web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° β€’ Python ΠΈ Flask

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Popen() (ΠΎΡ‚ process open) встроСнного модуля subprocess. Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

>>> import subprocess
>>> subprocess.Popen('C:\\Windows\\System32\\calc.exe')
<subprocess.Popen object at 0x0000020B18386438>

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСдставляСт собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Popen, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π΄Π²Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: poll() ΠΈ wait().

ΠœΠ΅Ρ‚ΠΎΠ΄ poll() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None, Ссли Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° процСсс всС Π΅Ρ‰Π΅ выполняСтся. Если ΠΆΠ΅ процСсс ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса. Код Π·Π°Π²Π΅Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слуТит ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ Π»ΠΈ процСсс Π±Π΅Π· ошибок (ΠΊΠΎΠ΄ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ) ΠΈΠ»ΠΈ ΠΆΠ΅ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ ошибкой (Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄).

ΠœΠ΅Ρ‚ΠΎΠ΄ wait() ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ процСсса, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся цСлочислСнный ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса.

>>> notepad = subprocess.Popen('C:\\Windows\\System32\\notepad.exe')
>>> notepad.poll() == None
True
>>> notepad.poll() == None
False
>>> notepad.wait()
0
>>> notepad.poll()
0

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ процСсс Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ провСряСм, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ poll() Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ процСсс всС Π΅Ρ‰Π΅ выполняСтся. ПослС этого Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π· провСряСм, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ poll() Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, wait() ΠΈ poll() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ notepad.exe Π±Π΅Π· ошибок.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠ°ΠΌ, создаваСмым с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Popen(), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Для этого Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Popen() Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список Π² качСствС СдинствСнного Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²ΠΎΠΉ строкой Π² этом спискС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ имя исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. ВсС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки β€” это Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈ запускС.

>>> subprocess.Popen(['C:\\Windows\\System32\\notepad.exe', 'C:\\example\\readme.txt'])
<subprocess.Popen object at 0x0000020B18386630>

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ запускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ notepad.exe, Π½ΠΎ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» readme.txt.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π”Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt позволяСт автоматичСски Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ассоциированноС с этим Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. Ѐункция Popen() Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>> subprocess.Popen(('start', 'C:\\example\\readme.txt'), shell = True)
<subprocess.Popen object at 0x0000020B183EDE10>

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π°. Π’ Windows это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° start, Π² Ubuntu Linux β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° see.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ shell = True Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ОБ Windows.

# Π’Π°ΠΉΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ отсчСта

import time, subprocess

wait = 10
while wait > 0:
    print(wait, end='')
    time.sleep(1)
    wait = wait - 1

# ВоспроизвСдСниС Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ отсчСта
subprocess.Popen(['start', 'C:\\example\alarm.wav'], shell = True)

Поиск: PythonΒ β€’ Web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Β β€’ ΠœΠΎΠ΄ΡƒΠ»ΡŒΒ β€’ ΠŸΡ€ΠΎΡ†Π΅ΡΡ

Π’Π°ΡˆΠ° пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python — ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² Python 3

Π’Π°ΡˆΠ° пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python — ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² Python 3

Π’Ρ‹ здСсь: Π”ΠΎΠΌΠΎΠΉ β€£ ΠŸΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² Python 3 β€£

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ слоТности: ♦ β™’β™’β™’β™’

❝ НС ​​хоронитС свою Π½ΠΎΡˆΡƒ Π² святом ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠΈ. Π£ тСбя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°? ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Π Π°Π΄ΡƒΠΉΡ‚Π΅ΡΡŒ, ныряйтС ΠΈ исслСдуйтС. β„–
— Дост. Π₯Π΅Π½Π΅ΠΏΠΎΠ»Π° Π“ΡƒΠ½Π°Ρ€Π°Ρ‚Π°Π½Π°

Π”Π°ΠΉΠ²ΠΈΠ½Π³ Π²

ΠšΠΎΠ½Π²Π΅Π½Ρ†ΠΈΡ

гласит, Ρ‡Ρ‚ΠΎ я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡ‚ΠΎΠΌΠΈΡ‚ΡŒ вас Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ созданиСм Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ.Π”Π°Π²Π°ΠΉΡ‚Π΅ всС это пропустим. Π’ΠΎΡ‚ полная Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, для вас это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла. НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ ΠΎΠ± этом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ это строка Π·Π° строкой. Но сначала ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с этим ΠΏΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ.

[Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ humanize.py ]

  Π‘Π£Π€Π€Π˜ΠšΠ‘ΠžΠ’ = {1000: ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
            1024: ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']}

def ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€, a_kilobyte_is_1024_bytes = True):
    '' 'ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.АргумСнты ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова:
    size - Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…
    a_kilobyte_is_1024_bytes - Ссли True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 1024
                                Ссли False, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ число, ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 1000

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: строка

    '' '
    Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <0:
        ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ValueError ('число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ')

    multiple = 1024, Ссли a_kilobyte_is_1024_bytes ΠΈΠ½Π°Ρ‡Π΅ 1000
    для суффикса Π² SUFFIXES [нСсколько]:
        size / = нСсколько
        Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <нСсколько:
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ '{0: .1f} {1}'. Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Ρ€Π°Π·ΠΌΠ΅Ρ€, суффикс)

    ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ValueError ('слишком большоС число')

Ссли __name__ == '__main__':
    print (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000; Π›ΠΎΠΆΡŒ))
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000))  

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ запустим эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.Π’ Windows это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  c: \ home \ diveintopython3 \ examples>   c: \ python31 \ python.exe humanize.py 
  1,0 Π’Π‘
931,3 Π“ΠΈΠ‘  

Π’ Mac OS X ΠΈΠ»ΠΈ Linux это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  you @ localhost: ~ / diveintopython3 / examples $   python3 humanize.py 
  1,0 Π’Π‘
931,3 Π“ΠΈΠ‘  

Π§Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ? Π’Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python. Π’Ρ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ имя сцСнария, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Python.Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ опрСдСляСт Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ corrective_size () , которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ… ΠΈ ​​вычисляСт «красивый» (Π½ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) Ρ€Π°Π·ΠΌΠ΅Ρ€. (Π’Ρ‹, вСроятно, Π²ΠΈΠ΄Π΅Π»ΠΈ это Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Windows, ΠΈΠ»ΠΈ Π² Mac OS X Finder, ΠΈΠ»ΠΈ Π² Nautilus, ΠΈΠ»ΠΈ Dolphin, ΠΈΠ»ΠΈ Π² Thunar Π² Linux. Если Π²Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ списка ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… столбцов, отобразится Ρ‚Π°Π±Π»ΠΈΡ†Π° со Π·Π½Π°Ρ‡ΠΊΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° , имя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏ, Π΄Π°Ρ‚Ρƒ послСднСго измСнСния ΠΈ Ρ‚. Π΄. Если ΠΏΠ°ΠΏΠΊΠ° содСрТит Ρ„Π°ΠΉΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1093 Π±Π°ΠΉΡ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ TODO , ваш Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ TODO 1093 Π±Π°ΠΉΡ‚Π° ; ΠΎΠ½ скаТСт Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ TODO 1 KB вмСсто этого.Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () .)

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ниТнюю Ρ‡Π°ΡΡ‚ΡŒ скрипта, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π²Π° Π²Ρ‹Π·ΠΎΠ²Π° print (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ ( Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² )) . Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ - сначала вызываСтся функция ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () ΠΈ пСрСдаСтся ряд Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ бСрСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ пСрСдаСтся прямо Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print () . Ѐункция print () являСтся встроСнной; Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ явного объявлСния этого.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² любоС врСмя ΠΈ Π² любом мСстС. (Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ . Π’Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅, ΠΊΡƒΠ·Π½Π΅Ρ‡ΠΈΠΊ.)

Π’Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π΄Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚? ΠœΡ‹ ΠΊ этому Π΅Ρ‰Π΅ вСрнСмся. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ apply_size () .

⁂

ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Python ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C ++ ΠΈΠ»ΠΈ интСрфСйс , рСализация /, Ρ€Π°Π·Π΄Π΅Π»Ρ‹ , Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Pascal.Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° функция, просто ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ Π΅Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  def ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€, a_kilobyte_is_1024_bytes = True):  
Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° функция, просто ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ Π΅Π΅.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово def запускаСт объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° Π½ΠΈΠΌ слСдуСт имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках. НСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ функция Π½Π΅ опрСдСляСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния; ΠΎΠ½ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.(ЀактичСски, каТдая функция Python Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅; Ссли функция ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ return , ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ None , Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Python.)

☞На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с , функция , Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с sub . Π’ Python Π½Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ВсС являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π΄Π°ΠΆΠ΅ Ссли это None ), ΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с def .

Ѐункция ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° - size ΠΈ a_kilobyte_is_1024_bytes - Π½ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅ опрСдСляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Python ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ вводятся явно. Python опрСдСляСт, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ относится пСрСмСнная, ΠΈ отслСТиваСт Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ.

β˜žΠ’ Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ Python Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ явно Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ.Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚Π΅, Python отслСТиваСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Python позволяСт Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ; Ссли функция вызываСтся Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² любом порядкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· посмотрим Π½Π° это объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎ_size () :

  def ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€, a_kilobyte_is_1024_bytes = True):  

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, a_kilobyte_is_1024_bytes , ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ True .Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· Π½Π΅Π³ΠΎ, ΠΈ Python Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π΅Π΅ с True Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° ниТнюю Ρ‡Π°ΡΡ‚ΡŒ скрипта:

  Ссли __name__ == '__main__':
    print (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000, Π›ΠΎΠΆΡŒ)) β‘ 
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000)) β‘‘  
  1. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () , a_kilobyte_is_1024_bytes Π±ΡƒΠ΄Π΅Ρ‚ False , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ False Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.
  2. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Но это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ обязатСлСн! ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ True , ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ значСния Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

  >>>   ΠΈΠ· чСловСчСского Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 
  >>>   ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (4000, a_kilobyte_is_1024_bytes = False)  β‘ 
  '4.0 ΠšΠ‘ '
  >>>   ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€ = 4000, a_kilobyte_is_1024_bytes = False)  β‘‘
  '4.0 ΠšΠ‘' 
  >>>   ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (a_kilobyte_is_1024_bytes = False, size = 4000)  β‘’
  '4,0 ΠšΠ‘' 
  >>>   ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (a_kilobyte_is_1024_bytes = False, 4000)  β‘£
  Π€Π°ΠΉΠ» "", строка 1
SyntaxError: Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова 
  >>>   ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€ = 4000, False)  β‘€
  Π€Π°ΠΉΠ» "", строка 1
SyntaxError: Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова  
  1. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () с 4000 для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ( Ρ€Π°Π·ΠΌΠ΅Ρ€ ) ΠΈ False для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ a_kilobyte_is_1024_bytes .(Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΈΠ½ΡƒΡ‚Ρƒ.)
  2. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () с 4000 для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ size ΠΈ False для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ a_kilobyte_is_1024_bytes . (Π­Ρ‚ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Ρ‡Ρ‚ΠΎ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, пСрСчислСнныС Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.)
  3. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () с False для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ a_kilobyte_is_1024_bytes ΠΈ 4000 для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ .(Π’ΠΈΠ΄ΠΈΡ‚Π΅? Π― сказал Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ порядок Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.)
  4. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт бСзымянный (ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ) Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΈ это Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ списка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ СдинствСнный ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Ρ‹.
  5. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ выполняСтся ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ? Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ 4000 Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ size , Π·Π°Ρ‚Π΅ΠΌ Β«ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΒ», Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° a_kilobyte_is_1024_bytes .Но Python Ρ‚Π°ΠΊ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, всС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ справа ΠΎΡ‚ Π½Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

⁂

Π—Π°ΠΏΠΈΡΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ ΡƒΡ‚ΠΎΠΌΠ»ΡΡ‚ΡŒ вас Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Ρ€Π΅Ρ‡ΡŒΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π½ΠΎ читаСтся ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·, ΠΈ самая ваТная аудитория для вашСго ΠΊΠΎΠ΄Π° - это Π²Ρ‹ сами Ρ‡Π΅Ρ€Π΅Π· ΡˆΠ΅ΡΡ‚ΡŒ мСсяцСв послС Π΅Π³ΠΎ написания (, Ρ‚.Π΅. послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ всС Π·Π°Π±Ρ‹Π»ΠΈ, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ).Python позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, поэтому Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠΌ. Π’Ρ‹ мСня ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python, ΡƒΠΊΠ°Π·Π°Π² Π΅ΠΉ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ( docstring для краткости). Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ функция ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎ_size () ΠΈΠΌΠ΅Π΅Ρ‚ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ :

  def ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€, a_kilobyte_is_1024_bytes = True):
    '' 'ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

    АргумСнты ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова:
    size - Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…
    a_kilobyte_is_1024_bytes - Ссли True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 1024
                                Ссли False, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ число, ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 1000

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: строка

    ''  
КаТдая функция заслуТиваСт достойной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ строку. ВсС, Ρ‡Ρ‚ΠΎ находится ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ строки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символы Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ строки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ .

β˜žΠ’Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ - это Ρ‚Π°ΠΊΠΆΠ΅ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ строку с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ qq /.../ Π² Perl 5.

ВсС, Ρ‡Ρ‚ΠΎ находится Π² Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, - это строка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ , которая Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π΄Π΅Π»Π°Π΅Ρ‚.Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ , Ссли ΠΎΠ½Π° сущСствуСт, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС послС объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ВСхничСски Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ вашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ , Π½ΠΎ Π²Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ это Π΄Π΅Π»Π°Ρ‚ΡŒ. Π― знаю, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ это Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ занятии ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ посСщали, Π½ΠΎ Python Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стимул: строка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ доступна Π²ΠΎ врСмя выполнСния ΠΊΠ°ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

☞МногиС IDE Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для прСдоставлСния контСкстно-зависимой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅Π΅ строка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° отобраТаСтся ΠΊΠ°ΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСвСроятно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠ° строка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅.

⁂

Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠŸΡƒΡ‚ΡŒ поиска

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ это ΠΏΠΎΠΉΠ΄Π΅Ρ‚ дальшС, я Ρ…ΠΎΡ‡Ρƒ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ поиска Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Когда Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Python смотрит Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах. Π’ частности, ΠΎΠ½ просматриваСт всС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² sys.path . Π­Ρ‚ΠΎ просто список, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ стандартными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ списка.(Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ большС ΠΎ списках Π² Native Datatypes.)

  >>>   импортная систСма  β‘ 
  >>>   sys.path  β‘‘
  [',
 '/usr/lib/python31.zip',
 '/usr/lib/python3.1',
 '/usr/lib/python3.1/plat-linux2@EXTRAMACHDEPPATH@',
 '/usr/lib/python3.1/lib-dynload',
 '/usr/lib/python3.1/dist-packages',
 '/usr/local/lib/python3.1/dist-packages'] 
  >>>   систСм  β‘’
  <ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 'sys' (встроСнный)> 
  >>>   систСм.path.insert (0, '/ home / mark / diveintopython3 / examples')  β‘£
  >>>   sys.path  β‘€
  ['/ home / mark / diveintopython3 / examples',
 '',
 '/usr/lib/python31.zip',
 '/usr/lib/python3.1',
 '/usr/lib/python3.1/plat-linux2@EXTRAMACHDEPPATH@',
 '/usr/lib/python3.1/lib-dynload',
 '/usr/lib/python3.1/dist-packages',
 '/usr/local/lib/python3.1/dist-packages']  
  1. Π˜ΠΌΠΏΠΎΡ€Ρ‚ модуля sys Π΄Π΅Π»Π°Π΅Ρ‚ доступными всС Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.
  2. sys.path - это список ΠΈΠΌΠ΅Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ поиска. (Π’Π°Ρˆ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π² зависимости ΠΎΡ‚ вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΊΠ°ΠΊΠΎΠΉ вСрсии Python Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈ Π³Π΄Π΅ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ установлСна.) Python Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ эти ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ (Π² этом порядкС) Π² поисках Ρ„Π°ΠΉΠ»Π° .py , имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ совпадаСт с Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  3. На самом Π΄Π΅Π»Π΅, я солгал; ΠΏΡ€Π°Π²Π΄Π° Π±ΠΎΠ»Π΅Π΅ слоТная, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ хранятся ΠΊΠ°ΠΊ .py Ρ„Π°ΠΉΠ»ΠΎΠ². НСкоторыС ΠΈΠ· Π½ΠΈΡ… встроСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ; ΠΎΠ½ΠΈ фактичСски встроСны Π² сам Python. ВстроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½ΠΎ ΠΈΡ… исходный ΠΊΠΎΠ΄ Π½Π° Python нСдоступСн, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ написаны Π½Π΅ Π½Π° Python! (Как ΠΈ сам Python, эти встроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ написаны Π½Π° C.)
  4. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ΠΏΡƒΡ‚ΡŒ поиска Python Π²ΠΎ врСмя выполнСния, Π΄ΠΎΠ±Π°Π²ΠΈΠ² имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² sys.path , ΠΈ Ρ‚ΠΎΠ³Π΄Π° Python Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.Π­Ρ„Ρ„Π΅ΠΊΡ‚ длится, ΠΏΠΎΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Python.
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ sys.path.insert (0, new_path ) , Π²Ρ‹ вставили Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² спискС sys.path ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡƒΡ‚ΠΈ поиска Python. Π­Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π’ случаС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Python поставляСтся с вСрсиСй 2 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ 3), это Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ вмСсто ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, поставляСмых с Python.

⁂

ВсС являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ

Если Π²Ρ‹ Π΅Π³ΠΎ пропустили, я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сказал, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ Ρ‡Ρ‚ΠΎ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ доступны Π²ΠΎ врСмя выполнСния. Ѐункция, ΠΊΠ°ΠΊ ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π² Python, являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

ЗапуститС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Python ΠΈ слСдуйтС:

  >>>   ΠΈΠΌΠΏΠΎΡ€Ρ‚ чСловСчСский  β‘ 
  >>>   ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (humanize.approximate_size (4096, True))  β‘‘
  4.0 ΠšΠ‘ 
  >>>   ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (humanize.approximate_size .__ doc__)  β‘’
  ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

    АргумСнты ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова:
    size - Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…
    a_kilobyte_is_1024_bytes - Ссли True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 1024
                                Ссли False, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ число, ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 1000

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: строка

  
  1. ΠŸΠ΅Ρ€Π²Π°Ρ строка ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ humanize ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ - Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ»ΠΈ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python.ПослС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° модуля Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ Π΅Π³ΠΎ общСдоступныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это для доступа ΠΊ функциям Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Python. Π­Ρ‚ΠΎ ваТная концСпция, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΅Π΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π² этой ΠΊΠ½ΠΈΠ³Π΅.
  2. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… модулях, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя модуля. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ ; ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ чСловСчСский Ρ€Π°Π·ΠΌΠ΅Ρ€. ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ .Если Π²Ρ‹ использовали классы Π² Java, это Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ смутно Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ.
  3. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, Π²Ρ‹ запросили ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, __doc__ .

☞ import Π² Python - это ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π² Perl. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Π΅Π³ΠΎ функциям с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля . функция ; ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ потрСбуСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Perl, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ Π΅Π³ΠΎ функциям с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля :: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ .

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

ВсС Π² Python - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ всС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнный Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __doc__ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ , ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π² исходном ΠΊΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ sys - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ (срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ) Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ path . И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Π½Π΅ Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚? Π’ Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β» опрСдСляСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ; Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ подклассами. Π’ Python ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ расплывчатоС. Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅Ρ‚ Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², , Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ . НС всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Но всС являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «пСрвоклассный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… контСкстах программирования.Π’ Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ - это пСрвоклассных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΠΈ - это пСрвоклассных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ вСсь ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠšΠ»Π°ΡΡΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса, Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ экзСмпляры класса Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса.

Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, поэтому я ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽ это, Ссли Π²Ρ‹ пропустили ΠΏΠ΅Ρ€Π²Ρ‹Π΅ нСсколько Ρ€Π°Π·: всС Π² Python являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ . Π‘Ρ‚Ρ€ΠΎΠΊΠΈ - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Бписки - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠšΠ»Π°ΡΡΡ‹ - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ЭкзСмпляры классов - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π”Π°ΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

⁂

Код отступа

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ явного begin ΠΈΠ»ΠΈ end , Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ЕдинствСнный Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ - это Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (: ) ΠΈ отступ самого ΠΊΠΎΠ΄Π°.

  def ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (Ρ€Π°Π·ΠΌΠ΅Ρ€, a_kilobyte_is_1024_bytes = True): β‘ 
    Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <0: β‘‘
        ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ValueError ('число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ') β‘’
                                                            β‘£
    multiple = 1024, Ссли a_kilobyte_is_1024_bytes ΠΈΠ½Π°Ρ‡Π΅ 1000
    для суффикса Π² БУЀЀИКБАΠ₯ [нСсколько]: β‘€
        size / = нСсколько
        Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <нСсколько:
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ '{0 :.1f} {1} '. Π€ΠΎΡ€ΠΌΠ°Ρ‚ (Ρ€Π°Π·ΠΌΠ΅Ρ€, суффикс)

    ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ValueError ("слишком большоС число")  
  1. ΠšΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΈΡ… отступом. Под Β«Π±Π»ΠΎΠΊΠΎΠΌ ΠΊΠΎΠ΄Π°Β» я ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, , Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ , для Ρ†ΠΈΠΊΠ»ΠΎΠ² , ΠΏΡ€ΠΈ Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈ Ρ‚. Π”. ΠžΡ‚ΡΡ‚ΡƒΠΏ начинаСтся с Π±Π»ΠΎΠΊΠ°, Π° снятиС отступа Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ. НСт явных Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, скобок ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ согласованными. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ отступ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, ΠΎΠ½ΠΎ просто Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠŸΠ΅Ρ€Π²Π°Ρ строка Π±Π΅Π· отступа ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  2. Π’ Python Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ if слСдуСт Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ if истинно, выполняСтся Π±Π»ΠΎΠΊ с отступом, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π±Π»ΠΎΠΊ else (Ссли Π΅ΡΡ‚ΡŒ). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° отсутствиС скобок Π²ΠΎΠΊΡ€ΡƒΠ³ выраТСния.
  3. Π­Ρ‚Π° строка находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° if . Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ raise Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Ρ‚ΠΈΠΏΠ° ValueError ), Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <0 .
  4. Π­Ρ‚ΠΎ , Π° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пустыС строки Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ раздСлитСлями Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. Ѐункция продолТаСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС.
  5. Π¦ΠΈΠΊΠ» для Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько строк, Ссли всС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ отступ. Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» для содСрТит Ρ‚Ρ€ΠΈ строки ΠΊΠΎΠ΄Π°. Π”Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса для многострочных ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π½Π΅Ρ‚.ΠŸΡ€ΠΎΡΡ‚ΠΎ сдСлайтС отступ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΆΠΈΡ‚ΡŒ своСй Тизнью.

ПослС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… протСстов ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΅Ρ…ΠΈΠ΄Π½Ρ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΈΠΉ с Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ΠΎΠΌ Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠΈΡ€ΠΈΡ‚Π΅ΡΡŒ с этим ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ прСимущСства. Одним ΠΈΠ· основных прСимущСств являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python выглядят ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ отступы - это Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ языка, Π° Π½Π΅ вопрос стиля. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Python Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй.

☞Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ для раздСлСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ отступы для раздСлСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. C ++ ΠΈ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой для раздСлСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки для раздСлСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°.

⁂

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Python Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ…, ΠΈ сам Python Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² самых Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. Π’Ρ‹ встрСтитС ΠΈΡ… Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π½Π° протяТСнии всСй ΠΊΠ½ΠΈΠ³ΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅? ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ошибка, ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.(НС всС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ошибками, Π½ΠΎ ΠΏΠΎΠΊΠ° это Π½Π΅Π²Π°ΠΆΠ½ΠΎ.) НСкоторыС языки программирования ΠΏΠΎΠΎΡ‰Ρ€ΡΡŽΡ‚ использованиС ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ провСряСтС . Python поощряСт использованиС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ .

Когда Π² Python Shell Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, ΠΎΠ½Π° распСчатываСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подробности ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΈ всС. Π­Ρ‚ΠΎ называСтся Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ . Когда Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ Π΅Π³ΠΎ явно Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π», поэтому ΠΎΠ½ вСрнулся Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅.Π’ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π² этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Ссли это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ вашСй Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python, вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π·ΠΊΠΎ остановится, Ссли Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ этого Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π° ΠΌΠΎΠΆΠ΅Ρ‚, ΠΈ Π½Π΅Ρ‚.

β˜žΠ’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Java, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ. Π’Π°ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

Однако ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ сбою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ . Иногда ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° ошибки Π² ΠΊΠΎΠ΄Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ доступС ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ), Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ - это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ», ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ Π½Π΅ установлСн. Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдоступна ΠΈΠ»ΠΈ Ρƒ вас Π½Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для доступа ΠΊ Π½Π΅ΠΉ. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ строка ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π²Π°ΠΌ слСдуСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ... ΠΊΡ€ΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ° .

☞Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ try ... Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° raise для ΠΈΡ… Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. Java ΠΈ C ++ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊΠΈ try ... catch для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ throw для ΠΈΡ… Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Ѐункция ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ () Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… случаях: Ссли Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ большС, Ρ‡Π΅ΠΌ функция ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈΠ»ΠΈ Ссли ΠΎΠ½ мСньшС нуля.

 , Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ <0:
    Raise ValueError ('число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ')  

Бинтаксис Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ достаточно прост. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ raise , Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт имя ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ удобочитаСмая строка для Ρ†Π΅Π»Π΅ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Бинтаксис Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. (На самом Π΄Π΅Π»Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ классы, ΠΈ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ raise фактичСски создаСт экзСмпляр класса ValueError ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ строку 'number must be non-negative' Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.Но ΠΌΡ‹ Π·Π°Π±Π΅Π³Π°Π΅ΠΌ Π²ΠΏΠ΅Ρ€Π΅Π΄!)

β˜žΠ’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π΅Π³ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚. Если ΠΎΠ΄Π½Π° функция Π½Π΅ справляСтся с этим, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ пСрСдаСтся Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Β«Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку». Если ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ обрабатываСтся, ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя, Python Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ «трассировку» Π΄ΠΎ стандартной ошибки, ΠΈ Π½Π° этом всС. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅; это зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ошибок ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

Одно ΠΈΠ· встроСнных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Python - ImportError , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Ρ‚Π΅Ρ€ΠΏΠΈΡ‚Π΅ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Π½ΠΎ самый простой случай - ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ сущСствуСт Π² вашСм ΠΏΡƒΡ‚ΠΈ поиска ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. НапримСр, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° chardet обСспСчиваСт автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ , Ссли ΠΎΠ½Π° сущСствуСт, , Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ изящно, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Π΅ Π½Π΅ установил. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ° try..except .

   ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ :
  импортная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°
 , ΠΊΡ€ΠΎΠΌΠ΅  ImportError:
  chardet = НСт  

ПозТС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ модуля chardet с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if :

  Ссли chardet:
  # сдСлай Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ
Π΅Ρ‰Π΅:
  # всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ  

Π”Ρ€ΡƒΠ³ΠΎΠ΅ распространСнноС использованиС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ImportError - это ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° модуля Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ API , Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»Π΅Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π΅Π½, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ.(ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΎΠ½ быстрСС ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мСньшС памяти.) Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ. НапримСр, Π² Π³Π»Π°Π²Π΅ XML рассказываСтся ΠΎ Π΄Π²ΡƒΡ… модулях, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠΉ API , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся ElementTree API . ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ, lxml , являСтся сторонним ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ, xml.etree.ElementTree , Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python 3.

  ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ:
    ΠΈΠ· lxml import etree
ΠΊΡ€ΠΎΠΌΠ΅ ImportError:
    ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ xml.etree.ElementTree ΠΊΠ°ΠΊ etree  

К ΠΊΠΎΠ½Ρ†Ρƒ этой ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ .. ΠΊΡ€ΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ° Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ etree . ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Π° модуля Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ API , ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части вашСго ΠΊΠΎΠ΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ постоянно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Ρ‹Π» ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» , всСгда называСтся etree , ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ засорСна ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ if для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

⁂

НСсвязанныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ВзглянитС Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π° эту строку ΠΊΠΎΠ΄Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎ_size () :

  нСсколько = 1024, Ссли a_kilobyte_is_1024_bytes ΠΈΠ½Π°Ρ‡Π΅ 1000  

Π’Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ , Π²Ρ‹ просто присваиваСтС Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Python позволяСт это Π΄Π΅Π»Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎ Python Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ это ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ NameError .

  >>>   x 
  Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
NameError: имя 'x' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 
  >>>   x = 1 
  >>>   x 
  1  

ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π²Ρ‹ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚Π΅ Python Π·Π° это.

⁂

ВсС с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра

ВсС ΠΈΠΌΠ΅Π½Π° Π² Python Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру: ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠΌΠ΅Π½Π° классов, ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈΠΌΠ΅Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ, ΠΎΠ½ чувствитСлСн ΠΊ рСгистру.

  >>>   an_integer = 1 
  >>>   an_integer 
  1 
  >>>   AN_INTEGER 
  Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
NameError: имя AN_INTEGER Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 
  >>>   An_Integer 
  Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
NameError: имя An_Integer Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 
  >>>   Π°Π½_ΠΈΠ½Ρ‚Π΅Π³Ρ€ 
  Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
NameError: имя an_inteGer Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 
 

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

⁂

Запуск сцСнариСв

ВсС Π² Python - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠœΠΎΠ΄ΡƒΠ»ΠΈ

Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… написания, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ запускаСтС Ρ„Π°ΠΉΠ» Python Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ послСдниС нСсколько строк Ρ„Π°ΠΉΠ»Π° humanize.py :

.
 
Ссли __name__ == '__main__':
    print (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000; Π›ΠΎΠΆΡŒ))
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ_Ρ€Π°Π·ΠΌΠ΅Ρ€ (1000000000000))  

☞ Подобно C , Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ == для сравнСния ΠΈ = для присвоСния.Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C , Python Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ встроСнноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, поэтому Π½Π΅Ρ‚ шансов случайно ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, сравниваСтС.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if особСнным? Ну, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ Ρƒ всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΅ΡΡ‚ΡŒ встроСнный Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __name__ . __name__ модуля зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Если Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ , Ρ‚ΠΎΠ³Π΄Π° __name__ - это имя Ρ„Π°ΠΉΠ»Π° модуля Π±Π΅Π· ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π°.

  >>>   ΠΈΠΌΠΏΠΎΡ€Ρ‚ чСловСчСский 
  >>>   чСловСчСский Ρ€Π°Π·ΠΌΠ΅Ρ€ .__ имя__ 
  "чСловСчСский Ρ€Π°Π·ΠΌΠ΅Ρ€"  

Но Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ Π² этом случаС __name__ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ __main__ . Python ΠΎΡ†Π΅Π½ΠΈΡ‚ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if , Π½Π°ΠΉΠ΄Π΅Ρ‚ истинноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° if . Π’ этом случаС для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

  c: \ home \ diveintopython3>   c: \ python31 \ python.exe peopleize.py 
  1,0 Π’Π‘
931,3 Π“ΠΈΠ‘  

И это ваша пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python!

⁂

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

  • PEP 257: Docstring Conventions ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ docstring ΠΎΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ docstring .
  • Python Tutorial: Documentation Strings Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ эту Ρ‚Π΅ΠΌΡƒ.
  • PEP 8: Style Guide for Python Code обсуТдаСт Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ отступов.
  • Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство ΠΏΠΎ Python ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Π² Python являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ люди ΠΏΠ΅Π΄Π°Π½Ρ‚Ρ‹ ΠΈ Π»ΡŽΠ±ΡΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ.

☜ ☞

Β© 2001–11 ΠœΠ°Ρ€ΠΊ ΠŸΠΈΠ»ΠΈΠ³Ρ€ΠΈΠΌ

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Anaconda - докумСнтация Anaconda

Anaconda Individual Edition содСрТит conda ΠΈ Anaconda Navigator, Π° Ρ‚Π°ΠΊΠΆΠ΅ Python ΠΈ сотни Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Когда Π²Ρ‹ установили Anaconda, Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ всС это установили.

Conda Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с интСрфСйсом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Подсказка Anaconda Π² Windows ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² macOS ΠΈ Linux.

Navigator - это Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ графичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния ΠΈ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, срСды ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ conda Π±Π΅Π· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ conda, ΠΈ Navigator Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Π°ΠΌ для управлСния вашими ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ срСды. Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π²Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ это простоС ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Π° ΠΈ командная строка, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅, посмотритС, Ρ‡Ρ‚ΠΎ дальшС ?.

Π’Π°ΡˆΠ° пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python: ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анаконда!

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Anaconda Navigator для запуска прилоТСния.Π—Π°Ρ‚Π΅ΠΌ создайтС ΠΈ запуститС простая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Python со Spyder ΠΈ Jupyter Notebook.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ инструкции для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Окна

Π’ мСню Β«ΠŸΡƒΡΠΊΒ» Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Anaconda Navigator.

macOS

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ панСль запуска, Π·Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Anaconda Navigator.

Linux

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ anaconda-navigator .

Запуск Python Π² Spyder IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ)

Подсказка

На Π³Π»Π°Π²Π½ΠΎΠΌ экранС

Navigator отобраТаСтся нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π’Ρ‹Π±Π΅Ρ€ΠΈ ΠΈΠ·. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Бсылки Π²Π½ΠΈΠ·Ρƒ этой страницы.

  1. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Главная страница" Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" справа ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»ΠΈΡ‚ΠΊΡƒ Spyder ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Spyder.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

    Если Ρƒ вас ΡƒΠΆΠ΅ установлСн Spyder, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΉ шаг.

  2. ЗапуститС Spyder, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска Spyder.

  3. Π’ Π½ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ слСва ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ любой тСкст-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ print (Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анаконда») .

  4. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ мСню Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π€Π°ΠΉΠ» - Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. hello.py .

  5. ЗапуститС Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

  6. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ консоли.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Spyder

Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС мСню Spyder Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Spyder - Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Spyder (Π² macOS Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Python - Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Spyder).

Запуск Python Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ Jupyter

  1. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Главная страница" Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" справа ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»ΠΈΡ‚ΠΊΡƒ Jupyter Notebook ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Jupyter Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

    Если Ρƒ вас ΡƒΠΆΠ΅ установлСн Jupyter Notebook, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π¨Π°Π³ запуска.

  2. ЗапуститС Jupyter Notebook, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска Jupyter Notebook.

    Π­Ρ‚ΠΎ запустит Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ), ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ПанСль управлСния Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠΌ.

  3. Π’Π²Π΅Ρ€Ρ…Ρƒ с ΠΏΡ€Π°Π²ΠΎΠΉ стороны находится Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню с надписью Β«NewΒ». Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ с установлСнной Π²Π°ΠΌΠΈ вСрсиСй Python.

  4. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ свой Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ. Π›ΠΈΠ±ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ имя ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π€Π°ΠΉΠ» Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС мСню.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MyFirstAnacondaNotebook.

  5. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ скопируйтС / Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ‚ (Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анаконда») .

  6. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ свой Π±Π»ΠΎΠΊΠ½ΠΎΡ‚, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ сохранСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ мСню Π€Π°ΠΉΠ» - Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°.

  7. ЗапуститС Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π² Π―Ρ‡Π΅ΠΉΠΊΠ° - Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС ΠΈΠ· Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ мСню.

Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Jupyter Notebook

  1. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС мСню Jupyter Notebooks Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π€Π°ΠΉΠ»Β» - Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ».
  2. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹Ρ…ΠΎΠ΄Β» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Notebook. ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€

Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС мСню Navigator Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Anaconda Navigator - Quit. Анаконда-Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Anaconda Prompt ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ подсказку Anaconda

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ инструкции для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Окна

Π’ мСню Β«ΠŸΡƒΡΠΊΒ» Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Β«Anaconda PromptΒ»:

macOS

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Launchpad, Π·Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Linux

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Python

Π’ строкС запроса Anaconda (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² Linux ΠΈΠ»ΠΈ macOS) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ python ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

>>> ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python.

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python

Π’ строкС >>> Π²Π²Π΅Π΄ΠΈΡ‚Π΅ print (Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анаконда!Β») ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

Когда Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Enter, ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся. Π‘Π»ΠΎΠ²Π° Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анаконда!Β» Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π½Π° экран.Π’Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π° Python!

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Python

Π’ Windows Π½Π°ΠΆΠΌΠΈΡ‚Π΅ CTRL-Z ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. На macOS ΠΈΠ»ΠΈ Linux Ρ‚ΠΈΠΏΠ° exit () ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: запуститС Spyder ΠΈΠ»ΠΈ Jupyter Notebook ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

  1. Π’ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ Anaconda (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² Linux ΠΈΠ»ΠΈ macOS) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ spyder ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. Spyder Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ запускС. ΠΈΠ· Anaconda Navigator.
  2. Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Spyder Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ.
  3. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Anaconda (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² Linux ΠΈΠ»ΠΈ macOS) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ jupyter-notebook ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

Jupyter Notebook Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ запускС это ΠΈΠ· Anaconda Navigator. Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ дальшС?

Бсылки Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ IDE

Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python трСмя простыми способами!

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ всСм. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для выполнСния этой Π·Π°Π΄Π°Ρ‡ΠΈ - Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python .


ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ quit ()

ВстроСнная функция quit () , прСдлагаСмая функциями Python, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python.

Бинтаксис:

ΡƒΠ²ΠΎΠ»ΠΈΡ‚ΡŒΡΡ()
 

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСма встрСчаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quit (), ΠΎΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

для x в диапазонС (1,10):
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (x * 10)
    ΡƒΠ²ΠΎΠ»ΠΈΡ‚ΡŒΡΡ()
 

Как Π²ΠΈΠ΄Π½ΠΎ Π²Ρ‹ΡˆΠ΅, послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° for ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ встрСчаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quit () ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’Ρ‹Ρ…ΠΎΠ΄:

10
 

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: функция Python sys.exit ()

Python sys-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· процСсса выполнСния - sys.exit () function.

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ sys.exit () ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π΅ бСспокоясь ΠΎ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.

Бинтаксис:

sys.exit (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚)
 

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ sys.exit () функция.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

import sys

Ρ… = 50

Ссли x! = 100:
sys.exit («ЗначСния Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚Β»)
Π΅Ρ‰Π΅:
print ("ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° !!")
 

Π’Ρ‹Ρ…ΠΎΠ΄:

ЗначСния Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚
 

ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ exit ()

Помимо Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ exit () для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python.

Бинтаксис:

Π’Ρ‹Ρ…ΠΎΠ΄()
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

для x в диапазонС (1,10):
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (x * 10)
    Π’Ρ‹Ρ…ΠΎΠ΄()
 

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ exit () ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ quit (), которая позволяСт Π½Π°ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Ρ‹Ρ…ΠΎΠ΄:

10
 

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΌΡ‹ подошли ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ этой Ρ‚Π΅ΠΌΡ‹. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ exit (), ΠΈ quit () нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΈ производствСнном ΠΊΠΎΠ΄Π°Ρ….ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ эти Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сайта ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ sys.exit () .

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ΅, Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы.

Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ обучСния !!


Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

10 Π»ΡƒΡ‡ΡˆΠΈΡ… Python IDE ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π° Π² 2021 Π³ΠΎΠ΄Ρƒ [ОбновлСно]

Python, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² 1991 Π³ΠΎΠ΄Ρƒ Π΅Π³ΠΎ создатСлСм Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных языков программирования , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡.Π―Π·Ρ‹ΠΊ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ развился благодаря ΡƒΡ‡Π°ΡΡ‚ΠΈΡŽ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² / программистов. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, рСкомСндуСтся Π½Π°Ρ‡Π°Ρ‚ΡŒ с Python. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Python доступны Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux, macOS ΠΈ Windows.

Python - ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях, ΠΎΡ‚ Blender (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для 3D-модСлирования) Π΄ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².Однако, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE). КаТдая IDE Python ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… своими функциями, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом ΠΈ Ρ‚. Π”. ΠœΡ‹ упомянули Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ…, ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ сообщСством Python.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, Π΄Π°Π²Π°ΠΉΡ‚Π΅ сначала посмотрим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ IDE ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ трСбования ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ срСдС программирования Python.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ IDE ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°?

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² этой ΠΈΠ³Ρ€Π΅ ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ, Π²Π°ΠΌ понадобится IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ программирования ΠΈ Ρ‚Π°Π»Π°Π½Ρ‚.IDE - это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ состоит ΠΈΠ· ΠΎΠ±Ρ‰ΠΈΡ… инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ графичСском интСрфСйсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (GUI). IDE Π² основном состоит ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° исходного ΠΊΠΎΠ΄Π° для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ локальной сборки для создания локальной сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ компиляция исходного ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. НаконСц, Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для тСстирования Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. IDE ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ этих, ΠΈ ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ IDE.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ; это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями.Π­Ρ‚ΠΎ Π½Π΅ IDE, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² IDE Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ΄Π° языка Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΎΠ½ выдСляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдлоТСния. Sublime Text, Atom, Visual Studio Code - ΠΎΠ΄Π½ΠΈ ΠΈΠ· самых популярных Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π°.

ВрСбования ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ срСдС программирования Python

ΠœΡ‹ пСрСчислили Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС ΠΈ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ трСбования, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° стадии сборки ΠΈ послС. Π£ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, Π½ΠΎ это основныС трСбования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ срСда IDE.

  • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄

IDE ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ снова ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΏΠΎΠ·ΠΆΠ΅, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ состоянии, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΡˆΠ»ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ экономя врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· срСды

Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ встроСнный компилятор для выполнСния вашСго ΠΊΠΎΠ΄Π°. Если Π²Ρ‹ Π½Π΅ запускаСтС Π΅Π³ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии, Ρ‚ΠΎ, вСроятно, это тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ IDE обСспСчиваСт пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ останова для частичного выполнСния ΠΊΠΎΠ΄Π°.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ символы Π² ΠΊΠΎΠ΄Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

  • АвтоматичСскоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π­Ρ‚ΠΎ интСрСсная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ; ΠΊΠΎΠ΄ отступаСт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ»Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

10 Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Python IDE ΠΈ ΠΊΠΎΠ΄Π° Python

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ Python IDE, ΠΌΡ‹ составили список Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… популярных Python IDE.Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, количСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²ΠΎΡ‚ список :

1. Pydev

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : GNU / Linux / macOS / Windows / Solaris

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://www.eclipse.org/; http://pydev.org/

Π’ΠΈΠΏ : IDE

Eclipse - это интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE), историчСски разработанная для языка Java. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, благодаря систСмС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ C / C ++ ΠΈ PHP.Pydev - это ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Eclipse Π² качСствС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Python, которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Jython ΠΈ IronPython. Pydev ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° для прСдоставлСния Ρ‚Π°ΠΊΠΈΡ… элСмСнтов, ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°. IDE Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Django, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ консоль, подсвСтку Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса, ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Ρ‚. Π”. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΈΠ΄Π΅ΠΉ для Python ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Python.

Pydev являСтся бСсплатным, нСзависимым ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ обСспСчиваСт ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ всСлСнной Eclipse.Благодаря усилиям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° python стала ΠΏΠΎΡ‡Ρ‚ΠΈ сопоставимой с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Java Π½Π° Eclipse, Ρ‡Ρ‚ΠΎ сдСлало Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰Π΅ΠΉ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • Π›Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (CPython, Jython, IronPython)
  • Плагин Pydev для программирования Π½Π° Python Π½Π° Eclipse
  • Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°

НСдостаток :

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

2. ΠŸΠΈΡ…Π°Ρ€ΠΌ

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://www.jetbrains.com/pycharm/

Π’ΠΈΠΏ : IDE

Pycharm - это интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, разработанная JetBrains. Он выдСляСтся срСди ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² своими инструмСнтами ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ быстрыС исправлСния. Доступны Ρ‚Ρ€ΠΈ вСрсии: вСрсия Community с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache, вСрсия для ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΉ (Edu) ΠΈ собствСнная вСрсия Professional.ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ вСрсии ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΈ поэтому бСсплатны, Π° вСрсия Professional - платная

.

ВСрсия Community ΠΎΡ‡Π΅Π½ΡŒ интСрСсна, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ подсвСтка синтаксиса, Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠ»Π°Ρ‚Π½Π°Ρ вСрсия ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ мноТСство Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², Ρ‡Π΅ΠΌ вСрсия сообщСства, такая ΠΊΠ°ΠΊ Django, Flask, Google App, Engine, Pyramid ΠΈ web2py.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • Активная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ подсвСтка синтаксиса
  • ВыполняСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° Python Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ

НСдостаток :

  • МСдлСнноС врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
  • Настройка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

3. ΠŸΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : http://www.sublimetext.com/

Π’ΠΈΠΏ : тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Python

Sublime Text, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°Π΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Vim, прСдставляСт собой ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, написанный Π½Π° C ++ ΠΈ Python. Начиная с вСрсии 2.0, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 44 основных языка программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Python. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½ Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² 2007 Π³ΠΎΠ΄Ρƒ, ΠΈ Π”ΠΆΠΎΠ½ Π‘ΠΊΠΈΠ½Π½Π΅Ρ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΅Π³ΠΎ.Для создания этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π”ΠΆΠΎΠ½ Π‘ΠΊΠΈΠ½Π½Π΅Ρ€ принял Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°:

  • Π‘Π΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹ΠΉ, минималистичный интСрфСйс: ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° тСкстС, Π° Π½Π΅ Π½Π° мноТСствС ΠΏΠ°Π½Π΅Π»Π΅ΠΉ инструмСнтов;
  • ВСкст Π½Π΅ скрываСтся ΠΎΠΊΠ½Π°ΠΌΠΈ;
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС мСста: Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ полноэкранноС, многоэкранноС, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ².

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ установили Sublime Text Π² качСствС Python IDE, благодаря Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π²Ρ‹ΡΠΎΠΊΠΎΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΈ ΠΌΠΎΡ‰Π½ΡƒΡŽ IDE, которая позволяСт ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Python.Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ подсвСтку синтаксиса.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • Быстро с ΠΎΡ‡Π΅Π½ΡŒ нСбольшим количСством ошибок (большоС прСимущСство)
  • ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большиС Ρ„Π°ΠΉΠ»Ρ‹
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство языков

НСдостаток :

  • Π‘Π»ΠΎΠΆΠ½ΠΎ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, всС ΠΈΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· JSON.
  • ВрСбуСтся лицСнзия
  • Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ горячих клавиш

4.Код Visual Studio

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://code.visualstudio.com

Π’ΠΈΠΏ : IDE

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft для Windows Linux ΠΈ ОБ, VS Code - это Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с Visual Studio. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, VS Code нСбольшой, Π½ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT; это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Visual Studio ΠΈ VS Code.ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия VS Code Π±Ρ‹Π»Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° 29 апрСля 2015 Π³ΠΎΠ΄Π°. VS Code сравним с Atom ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Atom, VS Code построСн Π½Π° Electron, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ прСимущСства ΠΈ нСдостатки.

VS Code - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Microsoft с наибольшим количСством участников Π½Π° GitHub. Π­Ρ‚Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° повысила ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ Microsoft ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»Π° Π΅Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· основных ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии сообщСства. Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² срСду Π½ΠΎΠ²Ρ‹ΠΉ язык, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Python.ΠŸΡ€ΠΎΡΡ‚ΠΎ скачайтС ΠΈ установитС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊ срСдС. Vs. Код Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями, ΠΊΠ°ΠΊ интСграция ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° автозаполнСния ΠΊΠΎΠ΄Π° ( IntelliSense ), консоли ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° для запуска ΠΊΠΎΠΌΠ°Π½Π΄ сСрвСра.

VS Code Π² Ρ†Π΅Π»ΠΎΠΌ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ спроСктирован, ΠΈ Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ прСимущСством являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π° основС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ срСда IDE являСтся Π»Π΅Π³ΠΊΠΎΠΉ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ

  • Π‘ΠΎΠ»Π΅Π΅ 4700 Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²
  • ΠœΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ управлСния ΠΊΠΎΠ΄Π°ΠΌΠΈ
  • Π˜ΠΌΠΏΠΎΡ€Ρ‚ сочСтаний клавиш ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Python, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Sublime Text ΠΈΠ»ΠΈ Atom
  • , ΠΏΠΎ запросу

НСдостаток :

  • Π’Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ соотвСтствуСт вашим потрСбностям, ΠΈΠ·-Π·Π° тысяч доступных Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ

5.Vim

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://www.vim.org

Π’ΠΈΠΏ : тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Vim - это тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π•Π³ΠΎ исходный ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² 1991 Π³ΠΎΠ΄Ρƒ Bram Moolenaar , Π΅Π³ΠΎ основным Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΎΡΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π»ΠΎΡΡŒ Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΌ сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².Vim отличаСтся ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Python ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Vim ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ основных Ρ€Π΅ΠΆΠΈΠΌΠ°: Ρ€Π΅ΠΆΠΈΠΌ вставки, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈ Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Vim - это бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни настраиваСтся ΠΏΡƒΡ‚Π΅ΠΌ добавлСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ измСнСния Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Python. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ±ΡƒΡ„Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², автоматичСский отступ, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊ языку, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Vim, просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° эту ссылку https://www.vim.org/download.php.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ обСспСчиваСт удобство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ сообщСства.
  • РаспознаваниС ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² (UNIX, MS-DOS ΠΈΠ»ΠΈ Mac)

НСдостаток :

  • НСдостаточно ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

6. GNU / Emacs

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https: // www.gnu.org

Π’ΠΈΠΏ : тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π‘ΠΎΠ·Π΄Π°Π½ΠΎ Π² 1976 Π³ΠΎΠ΄Ρƒ Π ΠΈΡ‡Π°Ρ€Π΄ Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ°Π½ , Emacs ( E diting MAC ro S тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² с тСкстовыми Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ TECO) Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΎΡ‡Π΅Π½ΡŒ популярно Π² сообщСствС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π ΠΈΡ‡Π°Ρ€Π΄ Π‘Ρ‚ΠΎΠ»ΠΌΠ΅Π½ настаивал Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ бСсплатным ΠΈ настраиваСмым Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ .Бпустя нСсколько Π»Π΅Ρ‚ появилось ΠΌΠ½ΠΎΠ³ΠΎ вСрсий Emacs, Π² Ρ‚ΠΎΠΌ числС GNU Emacs , ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π ΠΈΡ‡Π°Ρ€Π΄ΠΎΠΌ Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ°Π½ΠΎΠΌ Π² 1984 Π³ΠΎΠ΄Ρƒ, ΠΈ XEmacs , Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² 1991 Π³ΠΎΠ΄Ρƒ. GNU Emacs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Emacs Lisp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ написаниС, составлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, сСрфинг Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ дискуссионныС Ρ„ΠΎΡ€ΡƒΠΌΡ‹.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС доступно для бСсплатной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. GNU Emacs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии настройки для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Python.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Elpy Π² Emacs для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Python. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ. Π‘Ρ€Π΅Π΄ΠΈ Π΅Π³ΠΎ многочислСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ синтаксиса для различСния элСмСнтов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ; АвтоматичСский отступ для согласованного форматирования Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ‚. Π”.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • БСсплатноС ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС.
  • АвтоматичСская вставка элСмСнтов, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… структурой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½ΠΎΠ²Ρ‹Π΅ строки ΠΈ скобки;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 24-Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ†Π²Π΅Ρ‚Π° для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΅Π΅

НСдостаток :

  • НСпросто для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

7.Атом / Атом-IDE

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://atom.io/

Π’ΠΈΠΏ : IDE

Atom Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ IDE. Π‘Ρ€Π΅Π΄ΠΈ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ - подсвСтка синтаксиса ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Atom Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ основных языков программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Rust ΠΈΠ»ΠΈ Go. Atom Π΄Π΅Π»Π°Π΅Ρ‚ успСхи Π² ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ своСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ потрСбностям ΠΈ мнСнию сообщСства, ΡΡ‚Ρ€Π΅ΠΌΡΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.Π‘Ρ‹Π»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ врСмя оТидания для открытия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ нСбольшиС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌ для Π²Π°ΠΆΠ½Ρ‹Ρ… вычислСний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² блиТайшиС мСсяцы слСдуСт ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ всС большСго ΠΈ большСго прогрСсса. Atom - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² для Python.

Одна ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ успСха Atom - ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмый интСрфСйс. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ всС, ΠΎΡ‚ интСрфСйса Π΄ΠΎ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, эта довольно выгодная ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² основС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.Но Π² Ρ†Π΅Π»ΠΎΠΌ Atom остаСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ IDE, ΠΈ ΠΌΡ‹ с Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмый интСрфСйс
  • Π₯ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ
  • ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ практичСски всС, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ VS Code

НСдостаток :

  • Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠžΠ—Π£
  • НСобходимы дальнСйшиС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ систСмы ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • НС ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°

8.IDLE

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://docs.python.org/3/library/idle.html

Π’ΠΈΠΏ : IDE

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ обучСния - это IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ), выпущСнная Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 1998 Π³ΠΎΠ΄Π° Π“Π²ΠΈΠ΄ΠΎ Π’Π°Π½ Россумом для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Python. Π­Ρ‚ΠΎ простая IDE, поэтому ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Он состоит ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° с подсвСткой синтаксиса ΠΈ встроСнного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, постоянными Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ останова ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выполнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
  • Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания, измСнСния ΠΈ выполнСния скриптов Python.
  • Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ подсвСтка синтаксиса, Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ отступ.
  • Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ с функциями пошагового выполнСния ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ останова.

НСдостаток :

  • IDLE ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ нСдоступСн Π² дистрибутивС Python для Linux.
  • Для установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

9. Spyder

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https://github.com/spyder-ide/spyder

Π’ΠΈΠΏ : IDE

Названный Pydee Π² своих ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях, Spyder Π±Ρ‹Π» создан Pierre Raybaut Π² 2008 Π³ΠΎΠ΄Ρƒ. Он кроссплатформСнный ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Π±Π΅Π· авторского Π»Π΅Π²Π° (свободноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π±Π΅Π· авторского Π»Π΅Π²Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° распространСниС ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ).Π‘ 2012 Π³ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡƒΡ‡Π½ΠΎΠ΅ сообщСство Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Spyder благодаря ΠΈΡ… Π²ΠΊΠ»Π°Π΄Ρƒ.

Spyder ΠΈΠΌΠ΅Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ подсвСтка синтаксиса ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ использования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Matplotlib, Numpy , IPython, Scipy. Он бСсплатный ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π° установка ΠΎΡ‡Π΅Π½ΡŒ проста благодаря диспСтчСру ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python.

Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, рСдактирования, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ выполнСния, ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ изучСния ΠΈ возмоТностСй Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.Π­Ρ‚ΠΈ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ - интСрактивная консоль, срСдство просмотра Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства
  • Π‘ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • Полная докумСнтация

НСдостаток :

  • Зависимости выполнСния
  • ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости

10. Π’ΠΎΠ½Π½ΠΈ

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° : Linux / macOS / Windows

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт : https: // thonny.org

Π’ΠΈΠΏ : IDE

Thonny - это интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE). Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Вартуским унивСрситСтом Π² Эстонии, Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π² основном для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π² Python, прСдоставляя ΠΈΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈ Π»Π΅Π³ΠΊΡƒΡŽ срСду IDE. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, с ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ функциями, ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС особСнно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Python, ΠΈ поэтому ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для экспСртов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚ всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ пСдагогичСский курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Python быстро, Π»Π΅Π³ΠΊΠΎ ΠΈ просто.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ :

  • IDE Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
  • Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого количСства памяти для запуска

НСдостаток :

  • Если Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ для вас.
  • Волько основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ Python IDE Π² 2021 Π³ΠΎΠ΄Ρƒ?

Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² сущСствуСт мноТСство IDE с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ функциями, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для сСбя эту срСду ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ IDE Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… функциях IDE для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

БСсплатная IDE Python Python IDE для Mac Python IDE для Windows
  • PyDev
  • Код Visual Studio
  • Spyder
  • Π’ΠΎΠ½Π½ΠΈ
  • PyDev
  • ΠŸΠΈΡ…Π°Ρ€ΠΌ
  • Код Visual Studio
  • Spyder
  • Π’ΠΎΠ½Π½ΠΈ
  • PyDev
  • ΠŸΠΈΡ…Π°Ρ€ΠΌ
  • Код Visual Studio
  • Spyder
  • Π’ΠΎΠ½Π½ΠΈ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Python - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных языков ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ самый популярный.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *