На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

Π―Π·Ρ‹ΠΊ Python β€” описаниС, синтаксис, ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы

P ython β€” высокоуровнСвый язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Он ΠΈΠΌΠ΅Π΅Ρ‚ минималистичный синтаксис ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ читаСмости ΠΊΠΎΠ΄Π° (ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°).

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрим основныС особСнности языка, Π΅Π³ΠΎ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис + Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°.

О языкС

По-русски Python произносится ΠΊΠ°ΠΊ β€” «ΠΏΠ°ΠΉΡ‚ΠΎΠ½», Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ распространСнная вСрсия ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΡ β€” «ΠΏΠΈΡ‚ΠΎΠ½». Π―Π·Ρ‹ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅, структурноС, ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈ аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Python Π½Π°Ρ‡Π°Π» Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россум Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 1989 Π³ΠΎΠ΄Π°. Для ОБ Amoeba трСбовался Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ скриптовый язык. На досугС, Π“Π²ΠΈΠ΄ΠΎ Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ Python, позаимствовав Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ· языка ABC.

ВСрсия Python 2.0 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° 16 октября 2000 Π³., Π° пСрвая ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ-нСсовмСстимая вСрсия Python 3.0 β€” 3 дСкабря 2008 Π³.

КакиС Π·Π°Π΄Π°Ρ‡ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π½Π° Python

Основной ΡƒΠΏΠΎΡ€ Π² Python дСлаСтся Π½Π° скорости написания ΠΊΠΎΠ΄Π° (Π° Π½Π΅ Π½Π° скорости выполнСния ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² языках Π‘ ΠΈ C++). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Python ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ быстро Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅.

ВсС Ρ‡Π°Ρ‰Π΅ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π² Π½Π°ΡƒΠΊΠ΅, Ρ‚Π°ΠΊ ΠΈ коммСрчСской сфСрС. Π­Ρ‚ΠΎΠΌΡƒ способствуСт простота языка ΠΈ большоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Другая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ…ΠΎΡ€ΠΎΡˆ ΠŸΠΈΡ‚ΠΎΠ½ β€” систСмноС администрированиС ΠΈ DevOps. На это Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 3 ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

Випизация

Python являСтся языком с ΠΏΠΎΠ»Π½ΠΎΠΉ динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ автоматичСским ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ДинамичСская типизация ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя исполнСния.

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, динамичСская типизация ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Но с Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΈΠΌΠ΅Π΅Ρ‚ ряд нСдостатков β€” ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ риск ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ сниТаСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ «ΠŸΠΈΡ‚ΠΎΠ½Π΅» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ встроСнныС Ρ‚ΠΈΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ написав свой класс ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

По ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Python ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ язык (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C, Go, Java). Π•Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния схоТа с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками (PHP, Ruby). Однако Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции python-ΠΊΠΎΠ΄Π° Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ большСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Python «ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ»:

НСсмотря Π½Π° это, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π·Π°Π΄Π°Ρ‡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π΅ΠΆΠ΅Π»ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ОсобСнно это Π²Π°ΠΆΠ½ΠΎ для бизнСса ΠΈΠ»ΠΈ стартапа, Π³Π΄Π΅ критичСски Π²Π°ΠΆΠ½ΠΎ быстро Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² production ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

Если для Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Python. Или ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ ΠΊ PyPy.

Global Interpreter Lock β€” это глобальная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python. GIL Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΈ β€” нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько процСссоров ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π΅ΠΌ самым GIL ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ участкам памяти.

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² GIL Π² Python-Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россум заявляСт, Ρ‡Ρ‚ΠΎ GIL Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΏΠ»ΠΎΡ…, ΠΈ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· CPython`Π° ΠΎΠ½ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы Python

Бинтаксис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Python организовываСтся Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы. Они ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

Бинтаксис Python прост ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π΅Π½, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для изучСния.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° языка β€” использованиС отступов для выдСлСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° β€” классичСский «Hello, World!»:

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТный ΠΊΠΎΠ΄. Π”Π°Π½ΠΎ: 10 Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Ρ… чисСл. НСобходимо ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² порядкС возрастания.

from random import randint def get_numbers(count): numbers = [] for i in range(count): numbers.append(randint(1, 99)) return numbers my_numbers = get_numbers(10) my_numbers.sort() print(my_numbers)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ скрипта выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

[20, 27, 29, 36, 53, 74, 75, 81, 87, 93]

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли лишь Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΡƒ айсбСрга ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Python. Π˜Π·ΡƒΡ‡ΠΈΠ² этот язык Π²Ρ‹ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅ΡΡŒ, насколько просто ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ просто Π΅Π³ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python: характСристика ΠΈ прСимущСства

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм Π²Π°ΠΌ ΠΎ CPython, Jython, IronPython, PyPy ΠΈ Cython. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΈΡ… основных отличиях ΠΈ прСимущСствах.

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ являСтся, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самой популярной Π² наши Π΄Π½ΠΈ. И ΠΎΠ½Π° всё Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π½Π°ΡƒΠΊΠΈ сСйчас, совсСм Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π² самом Π½Π°Ρ‡Π°Π»Π΅. Благодаря Computer Science, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΆΠΈΠ·Π½ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² людСй! Π’Π°ΠΊΠΎΠΉ Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прогрСсс ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚, Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅ ΡΡ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ.

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

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сам ΠΏΠΎ сСбС Python довольно ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·Π΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСализациях. Π­Ρ‚ΠΎ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΠΌΠΎΠΉ нашСй ΡΡ‚Π°Ρ‚ΡŒΠΈ: ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π½Ρ‹Π΅ способы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого языка, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python

ΠœΡ‹ ΡƒΠΆΠ΅ нСсколько Ρ€Π°Π· использовали Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «рСализация». Но Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ этим подразумСваСтся? Говоря ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π» написан ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ – ΠΊΠ°ΠΊΠΈΠ΅ языки Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΊΠ°ΠΊΠΎΠ²Π° главная Π·Π°Π΄Π°Ρ‡Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ этого ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python.

1. CPython

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

CPython – это, ΠΏΠΎ сути, Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ (рСализация) языка Python, написанный Π½Π° C. Π­Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ вСрсия языка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта – Python.org.

Π›ΡƒΡ‡ΡˆΠ΅ всСго CPython ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π΅ΠΊΡƒΡŽ смСсь ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ компилятора, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ написанный Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ прСобразуСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Под Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилируСтся ΠΈ прСобразуСтся Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ инструкций для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. ИмСнно этот Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ выполняСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС CPython.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это «родная» рСализация Python, CPython Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ совмСстим с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ модулями языка. Π­Ρ‚Π° рСализация Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ стандартам Python.

ΠœΠ°Ρ€ΠΊ Π›ΡƒΡ‚Ρ† Β«Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ PythonΒ»

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ Ρƒ нас Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ

2) Jython

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

Jython – это Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° рСализация Python. Она Π±Ρ‹Π»Π° написана Π½Π° Java ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Как ΠΈ Π² CPython, исходный ΠΊΠΎΠ΄ конвСртируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ – Π½Π°Π±ΠΎΡ€ инструкций для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Jython Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Java. Данная рСализация обСспСчиваСт ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π’Ρ‹ Π»Π΅Π³ΠΊΠΎ смоТСтС Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы Java нСпосрСдствСнно ΠΈΠ· Jython. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Python доступ ΠΊ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π΅ΠΉΡˆΠ΅ΠΉ экосистСмС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Java. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

3) IronPython

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

4) PyPy

Π­Ρ‚Π° рСализация написана Π½Π° самом Python ΠΈ являСтся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ CPython. PyPy Π±Ρ‹Π» написан с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх особСнностСй языка Python, поэтому ΠΎΠ½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ совмСстим с CPython. Π­Ρ‚ΠΎ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Django ΠΈ Flask. PyPy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ JIT-компиляции (Just-in-time), которая позволяСт ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ прямо Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ PyPy Π² нСсколько Ρ€Π°Π· быстрСС CPython. МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ послСднСго Таловались ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΈΠ·ΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, PyPy ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ эту Ρ‡Π°ΡΡ‚ΡŒ CPython.

5) Cython

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Python, упомянутых Π²Ρ‹ΡˆΠ΅, Cython Π½Π΅ являСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Python. Π­Ρ‚ΠΎ, скорСС, надмноТСство языка Python, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС C.

Π’ΠΎΠΎΠ±Ρ‰Π΅, объСдинСнная ΠΌΠΎΡ‰ΡŒ Python ΠΈ C β€” самоС ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅Π΅ Π² Cython. Благодаря Π΅ΠΉ Cython ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для написания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ C, Π° Ρ‚Π°ΠΊΠΆΠ΅ для прСобразования Python-ΠΊΠΎΠ΄Π° Π² C. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Cython сохраняСт удобство ΠΈ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Ρ‚Π°ΠΊ Π»ΡŽΠ±ΡΡ‚ Python, устраняя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ограничСния послСднСго.

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

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌ. Н. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°
Bauman National Library

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты

Python

На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½. Π€ΠΎΡ‚ΠΎ На Ρ‡Π΅ΠΌ написан ΠΏΠ°ΠΉΡ‚ΠΎΠ½

Python (произносится [ ˈpaΙͺ.ΞΈΙ™n ] )являСтся ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ языком программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, высокого уровня. Π•Π³ΠΎ философия Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π° Π΅Π³ΠΎ синтаксис позволяСт программистам, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ понятия Π² мСньшСм количСствС строк ΠΊΠΎΠ΄Π°, Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ‚Π°ΠΊΠΈΡ… языках, ΠΊΠ°ΠΊ Π‘ ++ ΠΈΠ»ΠΈ Java. Π―Π·Ρ‹ΠΊ обСспСчиваСт конструкции, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ Π½Π° ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ°Π»Ρ‹Ρ… ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ….

Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования, Π² Ρ‚ΠΎΠΌ числС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ, ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… стилСй. Он ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ систСму Ρ‚ΠΈΠΏΠΎΠ² ΠΈ автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΈ Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΡƒΡŽ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ Python ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ для установки Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Python Π½Π° самых Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… систСм. ИспользованиС сторонних инструмСнтов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ py2exe ΠΈΠ»ΠΈ Pyinstaller. Python ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ собран Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· самых популярных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Ρ‡Ρ‚ΠΎ позволяСт распространСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Python основС для использования Π½Π° этих срСдах, Π½Π΅ трСбуя установка ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python.

CPython, ссылка рСализация Python, являСтся свободноС ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ модСль развития ΠΎΠ±Ρ‰ΠΈΠ½, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всС Π΅Π³ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. CPython управляСтся нСкоммСрчСской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Python Software Foundation.

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

О происхоТдСнии Python, Π’Π°Π½ Россум написал Π² 1996 Π³ΠΎΠ΄Ρƒ:

Python 2.0 Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ 16 октября 2000 Π³ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Ρ†ΠΈΠΊΠ»Π° обнаруТСния сборщиком мусора ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Unicode. Π’ этом выпускС процСсс развития Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ стал Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ ΠΈ сообщСство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»ΠΎ.

Python 3.0 (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Python 3000 ΠΈΠ»ΠΈ py3k), Ρ„Π°Π²ΠΎΡ€ΠΈΡ‚, Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ-нСсовмСстимыС Ρ€Π΅Π»ΠΈΠ· Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π½Π° 3 дСкабря 2008 Π³ΠΎΠ΄Π°, послС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° тСстирования. МногиС ΠΈΠ· Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹Ρ… особСнностСй Π±Ρ‹Π»ΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости Python 2.6 ΠΈ 2.7.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ философия

Python являСтся языком программирования ΠΌΡƒΠ»ΡŒΡ‚ΠΈ-ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ структурного программирования ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, ΠΈ Π΅ΡΡ‚ΡŒ ряд особСнностСй языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π² Ρ‚ΠΎΠΌ числС ΠΏΡƒΡ‚Π΅ΠΌ мСтапрограммирования ΠΈ магичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²). МногиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° программирования.

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

Π”ΠΈΠ·Π°ΠΉΠ½ Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π² традициях Lisp. Π―Π·Ρ‹ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ map(), reduce() ΠΈ filter( ) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ; постиТСний для списков, словарСй ΠΈ мноТСств,; ΠΈ выраТСния Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π΅ΡΡ‚ΡŒ Π΄Π²Π° модуля (itertools ΠΈ functools), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, заимствованныС ΠΈΠ· Haskell ΠΈ Standard ML.

Π―Π΄Ρ€ΠΎ философия языка ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ «PEP 20 (Π”Π·Π΅Π½ Python)», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π°Ρ„ΠΎΡ€ΠΈΠ·ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Ρ Π²Ρ‹Π±ΠΎΡ€ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, философии Python ΠΎΡ‚Π²Π΅Ρ€Π³Π°Π΅Ρ‚ Π±ΡƒΠΉΠ½Ρ‹ΠΉ синтаксис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Perl, Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Ρ€Π΅Π΄ΠΊΠΎΠ³ΠΎ, ΠΌΠ΅Π½Π΅Π΅ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ. Как АлСкс ΠœΠ°Ρ€Ρ‚Π΅Π»Π»ΠΈ выразился: «Π”ля Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΆΠ΅ ΡƒΠΌΠ½Ρ‹ΠΉ Π½Π΅ считаСтся ΠΊΠΎΠΌΠΏΠ»ΠΈΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π² ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π΅ Python.» Ѐилософия ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π° ΠΎΡ‚Π²Π΅Ρ€Π³Π°Π΅Ρ‚ Perl «Π•ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это» ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ языков Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ » Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это «.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ языка Python ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚Π²Π΅Ρ€Π³Π°ΡŽΡ‚ ΠΏΠ°Ρ‚Ρ‡ΠΈ для нСкритичСских частСй CPython, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π² скорости Π½Π° стоимости ясности. Когда Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, программист ΠŸΠΈΡ‚ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, написанныС Π½Π° языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C, ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PyPy, компилятор Ρ‚ΠΎΡ‡Π½ΠΎ Π² срок. CPython Ρ‚Π°ΠΊΠΆΠ΅ доступСн, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ сцСнарий Python Π² Π‘ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ прямоС API C-уровня ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python.

Π’Π°ΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Python ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Python инстСрСсным Π² использовании. Π­Ρ‚ΠΎ нашло своС ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² происхоТдСнии названия, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит ΠΎΡ‚ Monty Python, ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΈΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΈ справочным ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ использованиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ spam ΠΈ eggs вмСсто стандартных Foo ΠΈ bar.

ΠžΠ±Ρ‰ΠΈΠΉ Π½Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ·ΠΌ Π² сообщСствС Python являСтся Π²Π΅Ρ‰ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, связанных с стилСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π²Π΅Ρ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python ΠΈΠ΄ΠΈΠΎΠΌΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ это СстСствСнно ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ свободноС Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ языком, Ρ‡Ρ‚ΠΎ ΠΎΠ½ соотвСтствуСт философии ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΠ° Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π° Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ этого, ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠ±ΠΎΠ΅ транскрипции ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования называСтся unpythonic.

Π›ΡŽΠ΄ΠΈ ΠΈ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΈ Python, особСнно Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ освСдомлСнными ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ-часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Pythonists, Pythonistas ΠΈ Pythoneers.

Бинтаксис ΠΈ сСмантика

Python ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ языком. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ английскиС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Python ΠΈΠΌΠ΅Π΅Ρ‚ мСньшСС число синтаксичСских ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ особых случаСв, Ρ‡Π΅ΠΌ C ΠΈΠ»ΠΈ Pascal.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ отступы ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π° Π½Π΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈ; Π­Ρ‚Π° функция Ρ‚Π°ΠΊΠΆΠ΅ называСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²Π½Π΅ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ отступа ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ послС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… заявлСний; ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ отступа ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Набор ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² достаточно Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π΅Π½. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

Одной ΠΈΠ· интСрСсных синтаксичСских особСнностСй языка являСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ отступов (ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ табуляций), поэтому Π² Python ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки begin/end, ΠΊΠ°ΠΊ Π² языкС Паскаль, ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, ΠΊΠ°ΠΊ Π² Π‘ΠΈ. Π’Π°ΠΊΠΎΠΉ Β«Ρ‚Ρ€ΡŽΠΊΒ» позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство строк ΠΈ символов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΠΏΡ€ΠΈΡƒΡ‡Π°Π΅Ρ‚ ΠΊ Β«Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒΒ» ΡΡ‚ΠΈΠ»ΡŽ программирования. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² тСкстС. НСкоторым Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ.

ВыраТСния

НСкоторыС выраТСния Python ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках, ΠΊΠ°ΠΊ C ΠΈ Java, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ для Python:

Π’ Python, Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ выраТСниями ΠΈ заявлСний ТСстко ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ Common Lisp, Scheme, ΠΈΠ»ΠΈ Ruby. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр:

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΈΠ½ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½ΠΎ Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ΠΈΠΏ ограничСния Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя компиляции; скорСС, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ подходящСго Ρ‚ΠΈΠΏΠ°. НСсмотря Π½Π° Ρ‚ΠΎ, динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…, Python сильно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…, Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ числа Π² строкС), Π° Π½Π΅ ΠΌΠΎΠ»Ρ‡Π° ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ….

Python позволяСт программистам ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ свои собствСнныС Ρ‚ΠΈΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. НовыС экзСмпляры классов построСны ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° класса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SpamClass() ΠΈΠ»ΠΈ EggsClass() ), Π° сами классы ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмплярами type мСтаклассов (сама экзСмпляр сСбС), Ρ‡Ρ‚ΠΎ позволяСт мСтапрограммирования ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π”ΠΎ вСрсии 3.0, Python Π±Ρ‹Π»ΠΎ Π΄Π²Π° Π²ΠΈΠ΄Π° классов: «ΡΡ‚Π°Ρ€Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ» ΠΈ «ΠΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ» [61] классы Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ стилС Π±Ρ‹Π»ΠΈ устранСны Π² Python 3.0, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ всС классы Π½ΠΎΠ²ΠΎΠ³ΠΎ стиля.. Π’ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΎΡ‚ 2,2 Π΄ΠΎ 3,0, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΎΠ±Π° Π²ΠΈΠ΄Π° классов. Бинтаксис ΠΎΠ±ΠΎΠΈΡ… стилСй Ρ‚ΠΎ ΠΆΠ΅ самоС, с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, являСтся Π»ΠΈ object класса Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚, прямо ΠΈΠ»ΠΈ косвСнно (всС классы Π½ΠΎΠ²ΠΎΠ³ΠΎ стиля Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ object ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмплярами type ).

«Wikipedia» «»»Spanning multiple lines»»»

bytearrayMutableΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚bytearray(b’Some ASCII’)

bytearray(b»Some ASCII») bytearray([119, 105, 107, 105])

bytesImmutableΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚.b’Some ASCII’

b»Some ASCII» bytes([119, 105, 107, 105])

listMutableБписки, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹[4.0, ‘string’, True]tupleImmutableΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.(4.0, ‘string’, True)setMutableНСупорядочСнный Π½Π°Π±ΠΎΡ€, Π½Π΅ содСрТит Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ². ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹.frozensetImmutableНСупорядочСнный Π½Π°Π±ΠΎΡ€, Π½Π΅ содСрТит Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ². ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹.frozenset([4.0, ‘string’, True])dictMutableАссоциативный массив (ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ) ΠΈΠ· ΠΏΠ°Ρ€Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния). ΠšΠ»ΡŽΡ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°intImmutableЧисло Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°42floatImmutableЧисло с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСляСтся систСмой).3.1415927complexImmutableКомплСксноС число с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ.3+2.7jboolImmutableЛогичСская пСрСмСннаяTrue

ellipsisΠœΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ для использования Π² качСствС индСкса Π² массивах NumPy..

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

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

НСкоторыС части стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹ тСхничСскими (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСализация wsgiref WSGI ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ PEP 333), Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ. Они Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΈΡ… ΠΊΠΎΠ΄Ρƒ, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ тСстов (ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ Python, Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСписанныС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для запуска Python ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Python Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Blender 2.49, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, опускаСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΡΠ½Π²Π°Ρ€ΡŒ 2016 Π³ΠΎΠ΄Π°, ΠŸΠΈΡ‚ΠΎΠ½ индСкс ΠŸΠ°ΠΊΠ΅Ρ‚, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ стороннСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Python, содСрТит Π±ΠΎΠ»Π΅Π΅ 72000 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, Π² Ρ‚ΠΎΠΌ числС:

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

ЭмпиричСскиС исслСдования ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, языки сцСнариСв (Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Python) Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ языки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C ΠΈ Java) для Π·Π°Π΄Π°Ρ‡ΠΈ программирования с участиСм строками ΠΈ поиск Π² словарС. ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти часто Π±Ρ‹Π» «Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Java, Π° Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Π‘ ΠΈΠ»ΠΈ Π‘ ++».

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π² использовании сопряТСния ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ, Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠšΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Google, Yahoo!, CERN, NASA, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ ILM, ΠΈ ITA.

Python ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π² качСствС скриптового языка для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ mod_wsgi для Π²Π΅Π±-сСрвСра Apache. Π‘ Π²Π΅Π±-сСрвСра шлюза интСрфСйса, стандартный API, Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ эти прилоТСния. Π Π°ΠΌΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Django, Pylons, Pyramid, TurboGears, web2py, Tornado, Flask, Bottle ΠΈ Zope ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ обслуТивании слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Pyjamas ΠΈ IronPython ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ клиСнтской части ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. SQLAlchemy ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² качСствС прСобразоватСля Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Twisted являСтся основой для программирования связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) Dropbox.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊ NumPy, SciPy ΠΈ Matplotlib ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний, со спСциализированными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ BioPython ΠΈ Astropy обСспСчСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. Astropy являСтся матСматичСскоС обСспСчСниС с Β«Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Β» программируСтся Π² Python: Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС Π°Π»Π³Π΅Π±Ρ€Ρ‹, ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠΈ, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚Π΅ΠΎΡ€ΠΈΠΈ чисСл, ΠΈ исчислСния.

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

МногиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Python Π² качСствС стандартного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°; языковыС поставляСтся с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ дистрибутивов Linux, AmigaOS 4, FreeBSD, NetBSD, OpenBSD ΠΈ OS X, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Ряд дистрибутивов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инсталляторов, написанных Π½Π° Python: Ubuntu ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ установщик Ubiquity, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Red Hat Linux Fedora ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ установки Anaconda. Gentoo Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python Π² своСй систСмС управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Portage.

ΠŸΠΈΡ‚ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности, Π² Ρ‚ΠΎΠΌ числС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эксплойтов.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Sugar для One Laptop Per Child XO, Π² настоящСС врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² Sugar Labs, написана Π² Python.

Π‘ΠΈΠ½Π³Π» Π±ΠΎΡ€Ρ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Raspberry Pi ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ принял Python Π² качСствС своСй основной язык ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ программирования.

LibreOffice Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Python ΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Java с Python. Python скриптов ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ основной ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ, начиная с вСрсии 4.0 ΠΎΡ‚ 7 фСвраля 2013 Π³ΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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