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

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

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

Доступ ΠΊ Ρ…ΡΡˆΡƒ ΠΈΠ· Python ΠΌΠ°Π»ΠΎ отличаСтся ΠΎΡ‚ доступа ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ. Π Π°Π·Π½ΠΈΡ†Π° лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ…ΡΡˆ Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для создания, чтСния ΠΈΠ»ΠΈ записи, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ записи Ρ…ΡΡˆ блокируСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ csv

Π€ΠΎΡ€ΠΌΠ°Ρ‚ CSV (comma separated values β€” значСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми) достаточно популярСн для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ элСктронными Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ посвящСн записи Π² CSV–файл ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈΠ· Π½Π΅Π³ΠΎ:

mydata = [(1, 2, 3), (1, 3, 4)]

import csv


# Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ»:

f = file("my.csv", "w")

writer = csv.writer(f)

for row in mydata:

writer.writerow(row)

f.close()


# Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

reader = csv.reader(file("my.csv"))

for row in reader:

print row

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎβ€“Π·Π°Π²ΠΈΡΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Π­Ρ‚Π° катСгория ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ сСмСйств ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ большоС число ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² стандартной поставкС Python посвящСно Ρ‚Ρ€Π΅ΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ: Unix, Windows ΠΈ Macintosh.

ΠŸΡ€ΠΈ создании пСрСносимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ платформо–зависимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π»ΠΈΠ±ΠΎ с ΠΎΡ‚ΠΊΠ°Π·ΠΎΠΌ ΠΎΡ‚ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π½Π΅ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’Π°ΠΊ, ΠΏΠΎΠ΄ Windows Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ достаточно обычная для Unix функция os.fork(), поэтому ΠΏΡ€ΠΈ создании пСрСносимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСдства для распараллСлСнных вычислСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ языку ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, для ΠΊΠ°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ доступСн Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ функция.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСти. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚

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

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

Π­Ρ‚ΠΎΠΌΡƒ вопросу Π±ΡƒΠ΄Π΅Ρ‚ посвящСна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ лСкция.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Internet. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

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

БСгодня Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ RFC 2822 являСтся ΠΏΠ°ΠΊΠ΅Ρ‚ email. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ сообщСния Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅, Ρ‚Π°ΠΊ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ полях ΠΈ основном содСрТимом (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ влоТСния).

Python о сСбС

Π―Π·Ρ‹ΠΊ Python являСтся Ρ€Π΅Ρ„Π»Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ языком, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Β«Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒΒ» Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² собствСнныС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠΎΠ΄ΡƒΠ»ΠΈ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΊΠΎΡΠ½ΡƒΡ‚ΡŒΡΡ ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ устройству Python. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± этом рассказываСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ.

ГрафичСский интСрфСйс

ΠŸΠΎΡ‡Ρ‚ΠΈ всС соврСмСнныС прилоТСния ΠΈΠΌΠ΅ΡŽΡ‚ графичСский интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Π°ΠΊΠΈΠ΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π½Π° языкС Python. Π’ стандартной поставкС имССтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Tkinter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ интСрфСйс ΠΊ языку Tcl/Tk, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ графичСский интСрфСйс.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для программирования графичСского интСрфСйса: wxPython (основан Π½Π° wxWindows), PyGTK ΠΈ Ρ‚.Π΄. Π‘Ρ€Π΅Π΄ΠΈ этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² основном Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ (Ρ€Π΅ΠΆΠ΅ β€” Π½Π° Π΄Π²ΡƒΡ…).

Помимо возмоТностСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ описания графичСского интСрфСйса, для Python Π΅ΡΡ‚ΡŒ нСсколько коммСрчСских ΠΈ нСкоммСрчСских построитСлСй графичСского интСрфСйса (GUI builders), ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ курсС ΠΎΠ½ΠΈ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

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

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

ЛСкция #3: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования.

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

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

Π­Ρ‚Π° лСкция Π±ΠΎΠ»Π΅Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° практичСскиС сообраТСния, Π° Π½Π΅ Π½Π° Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Однако Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΡΡΠ½ΡΡ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΡΡ‚ΠΈΠ»ΡŒ программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² выраТСниях, Π° Π½Π΅ Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Дэвид ΠœΠ΅Ρ€Ρ‚Ρ† (David Mertz) Π² своСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python, Β«Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках (LISP, ML, OCAML, Haskell, …)Β», основными Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

β€’ Β«ΠΠ°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Ρ€Π°Π²Π½Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ).

β€’ Π Π΅ΠΊΡƒΡ€ΡΠΈΡ являСтся основной ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ структурой Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

β€’ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списков (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ).

β€’ Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС присваивания (Π² «чистых» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках)

β€’ Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², основной ΡƒΠΏΠΎΡ€ дСлаСтся Π½Π° выраТСния. ВмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² ΠΈΠ΄Π΅Π°Π»Π΅ β€” ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ опрСдСлСниями.

β€’ ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ вопрос: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, Π° Π½Π΅ ΠΊΠ°ΠΊ.

β€’ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ высоких порядков (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Π΄ функциями Π½Π°Π΄ функциями)Β».

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

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

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