Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования PythonΒ»

Автор Π ΠΎΠΌΠ°Π½ Π‘ΡƒΠ·ΠΈ

Π―Π·Ρ‹ΠΊ программирования Python

ЛСкция #1: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Python.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Python?

О Python (Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡΠΈΡ‚ΡŒ Β«ΠΏΠΈΡ‚ΠΎΠ½Β», хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ говорят Β«ΠΏΠ°ΠΉΡ‚ΠΎΠ½Β») β€” ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ изучСния, Π»ΡƒΡ‡ΡˆΠ΅ всСго Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ этого языка программирования, Π³ΠΎΠ»Π»Π°Π½Π΄Π΅Ρ† Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россум:

Β«Python β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎβ€“ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ высокоуровнСвый язык программирования с динамичСской сСмантикой. ВстроСнныС высокоуровнСвыС структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² сочСтании с динамичСскими Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ связываниСм Π΄Π΅Π»Π°ΡŽΡ‚ язык ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD, Rapid Application Development). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС сцСнарного языка для связи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Бинтаксис Python прост Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ, Π² Π½Π΅ΠΌ придаСтся особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ читаСмости ΠΊΠΎΠ΄Π°, Π° это сокращаСт Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° сопровоТдСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, поощряя ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π°. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΈ большая стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° доступны бСсплатно Π² Π²ΠΈΠ΄Π΅ исходных ΠΈ исполняСмых ΠΊΠΎΠ΄ΠΎΠ² для всСх основных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ.Β»

Π’ процСссС изучСния Π±ΡƒΠ΄Π΅Ρ‚ раскрыт смысл этого опрСдСлСния, Π° сСйчас достаточно Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования. Он ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ нСдостатки, Π° Ρ‚Π°ΠΊΠΆΠ΅ сфСры примСнСния. Π’ поставку Python Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡. Π’ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ доступны качСствСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Python ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ областям: срСдства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, инструмСнты для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ доступа ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ построСния графичСского интСрфСйса ΠΈ Ρ‚.ΠΏ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Python ΠΈΠΌΠ΅Π΅Ρ‚ достаточно простыС срСдства для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с языками C, C++ (ΠΈ Java) ΠΊΠ°ΠΊ ΠΏΡƒΡ‚Π΅ΠΌ встраивания (embedding) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этих языках, Ρ‚Π°ΠΊ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, посрСдством использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, написанных Π½Π° этих языках, Π² Python–программах. Π―Π·Ρ‹ΠΊ Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования: ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ (ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ, структурный, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎβ€“ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python β€” это цСлая тСхнология для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² (ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ²). Она доступна ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° всСх соврСмСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (ΠΊΠ°ΠΊ 32–битных, Ρ‚Π°ΠΊ ΠΈ Π½Π° 64–битных) с компилятором C ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java.

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ индустрии Π½Π΅Ρ‚ мСста для чСго–то Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ C/C++, Java, Visual Basic, C#. Однако это Π½Π΅ Ρ‚Π°ΠΊ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, благодаря Π΄Π°Π½Π½ΠΎΠΌΡƒ курсу Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ практичСских занятий Ρƒ Python появятся Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Ρ†Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ станСт Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом.

Как ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ язык?

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

Однако стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ описанию языка. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” это всСгда коммуникация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ программист ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для выполнСния послСдним дСйствий. Π’ΠΎ, ΠΊΠ°ΠΊ эти дСйствия ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ программист (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «смысл»), ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ сСмантикой. БрСдством ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ этого смысла являСтся синтаксис языка программирования. Ну Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π° основании ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ. ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² этой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ сбоСв.

Бинтаксис β€” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ формализованная Ρ‡Π°ΡΡ‚ΡŒ: Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ языкС синтаксичСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (Ρ‡Ρ‚ΠΎ ΠΈ дСлаСтся Π² справочных руководствах). Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΠΊΠΈ являСтся сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка. ИмСнно ΠΎΠ½ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ записанноС Π² соотвСтствии с синтаксисом «посланиС» ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² дСйствия ΠΏΠΎ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π² Π½Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. ΠΠ΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСмантика. ИмСнно Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ смысла Π² Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΈ кроСтся самая большая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ программирования. Бинтаксис языка Python ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ срСдствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ программистом ΠΊ Π΅Π΅ «пониманию» ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. О Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС Python Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ языка Python

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Python Π±Ρ‹Π»ΠΎ Π½Π°Ρ‡Π°Ρ‚ΠΎ Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом (Guido van Rossum) Π² 1991 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ распрСдСлСнной ОБ АмСба. Π•ΠΌΡƒ трСбовался Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ обСспСчил ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π—Π° основу Π±Ρ‹Π»ΠΈ взяты ABC ΠΈ ΠœΠΎΠ΄ΡƒΠ»Π°β€“3. Π’ качСствС названия ΠΎΠ½ Π²Ρ‹Π±Ρ€Π°Π» Python Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… сСрий BBC Β«Π›Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΡ€ΠΊ ΠœΠΎΠ½Ρ‚ΠΈβ€“ΠŸΠΈΡ‚ΠΎΠ½Π°Β», Π° вовсС Π½Π΅ ΠΏΠΎ названию Π·ΠΌΠ΅ΠΈ. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Python развивался ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ‚Π΅Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π“Π²ΠΈΠ΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π». ОсобСнно Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ язык ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ Π² настоящСС врСмя, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° создатСлСй, Π½ΠΎ ΠΈ Ρ†Π΅Π»ΠΎΠ΅ сообщСство программистов со всСго ΠΌΠΈΡ€Π°. И всС–таки послСднСС слово ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ развития языка остаСтся Π·Π° Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС Python ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прСдставляСт собой тСкстовый Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, совмСстимой с 7–битной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ASCII. Для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. НапримСр, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ записаны Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KOI8–R, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ:

# -*- coding: koi8–r -*-

Благодаря этой спСцификации ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ символы Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Unicode–строк Π² Unicode. Π‘Π΅Π· этой строки Π½ΠΎΠ²Ρ‹Π΅ вСрсии Python Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ΄Ρ‹ с установлСнным Π²ΠΎΡΡŒΠΌΡ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ.

О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ, станСт извСстно Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… лСкциях. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½ΠΈΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, записанных Π² Ρ„Π°ΠΉΠ», Ρ‚Π°ΠΊ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Python. ПослСдниС ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ΠΌ >>>. Π‘ΠΈΠΌΠ²ΠΎΠ» Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠ° (#) ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, состоит ΠΈΠ· логичСских строк. Одна логичСская строка, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, располагаСтся Π² ΠΎΠ΄Π½ΠΎΠΉ физичСской, Π½ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ логичСскиС строки ΠΌΠΎΠΆΠ½ΠΎ явно (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹) ΠΈΠ»ΠΈ нСявно (Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок) Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° нСсколько физичСских:

print a, " β€” ΠΎΡ‡Π΅Π½ΡŒ длинная строка, которая Π½Π΅ помСщаСтся Π²", \

 80, "знакомСстах"

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

Π’ΠΎ всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Β«ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉΒ» ΡΡ‚ΠΈΠ»ΡŒ оформлСния ΠΊΠΎΠ΄Π° Π½Π° Python Π² соотвСтствии с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Β«Python Style GuideΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° сайтС http://python.org

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ алгоритмичСскиС конструкции

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

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ строками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Ρ‚ΠΎΠΈΡ‚, ΠΏΡ€Π°Π²Π΄Π°, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π²Π°ΠΆΠ½Ρ‹ отступы, поэтому всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, входящиС Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ отступ:

a = 1

b = 2

a = a + b

b = a - b

a = a - b

print a, b

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€? ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свою Π΄ΠΎΠ³Π°Π΄ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Python Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ°ΠΊ Π±Ρ‹ вводится ΠΎΠ΄Π½Π° большая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, состоящая ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ print.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ условия ΠΈ Π²Ρ‹Π±ΠΎΡ€Π°

РазумССтся, ΠΎΠ΄Π½ΠΈΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ дСйствиями Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, поэтому ΠΏΡ€ΠΈ написании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Ρ‰Π΅ ΠΈ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅:

if a > b:

 c = a