%pip
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
Python ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ½Π°Ρ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°, Π²Ρ ΡΡΠ°Π·Ρ ΠΊΠ°ΠΆΠΈΡΠ΅ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ Π³Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°. ΠΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π°Π΄Π°Π²Π°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ + Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» ΠΈ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ? ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Python ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ. Π’ΠΎΠ³Π΄Π° ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
Python ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ½Π°Ρ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°, Π²Ρ ΡΡΠ°Π·Ρ ΠΊΠ°ΠΆΠΈΡΠ΅ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ Π³Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°. ΠΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π°Π΄Π°Π²Π°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ + Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» ΠΈ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ? ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Python ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ. Π’ΠΎΠ³Π΄Π° ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
%debug
ΠΠΊΡΠΈΠ²ΠΈΡΡeΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ: ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° (ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°) ΠΈ post-mortem (βΠΏΠΎΡΠΌΠ΅ΡΡΠ½ΠΎβ). ΠΡΠΎΡΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΡΠΈΠ²
ΠΠΊΡΠΈΠ²ΠΈΡΡeΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ: ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° (ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°) ΠΈ post-mortem (βΠΏΠΎΡΠΌΠ΅ΡΡΠ½ΠΎβ). ΠΡΠΎΡΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΡΠΈΠ²
%debug
Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.%autoawait
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π£Π»ΡΡΡΠ°ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΠΈΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°.
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π£Π»ΡΡΡΠ°ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΠΈΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°.
%%capture
CΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅, Π³Π΄Π΅ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ°ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΡΡ.
CΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅, Π³Π΄Π΅ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ°ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΡΡ.
%%time
ΠΠ·ΠΌΠ΅ΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΡΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ°Ρ ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠΈΠΊΠ» for Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ (enumeration). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΠΠ·ΠΌΠ΅ΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΡΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ°Ρ ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠΈΠΊΠ» for Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ (enumeration). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ
%%time
, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΡΠΎΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.%lsmagic
Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΌΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ°ΠΏΡΡΡΠΈΠ²
Magic Commands β ΡΡΠΎ ΡΠ°ΡΡΡ IPython, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π’Π΅, ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° β%β, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π΄ΡΡΠ³ΠΈΠ΅ β ΠΊΠΎ Π²ΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ βΠΊΠΎΠ»Π°Π±ΠΈΡΡΡβ ΠΌΡΠ΄ΠΆΠΈΠΊΠΈ.
Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΌΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ°ΠΏΡΡΡΠΈΠ²
%lsmagic
, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.Magic Commands β ΡΡΠΎ ΡΠ°ΡΡΡ IPython, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π’Π΅, ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° β%β, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π΄ΡΡΠ³ΠΈΠ΅ β ΠΊΠΎ Π²ΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ βΠΊΠΎΠ»Π°Π±ΠΈΡΡΡβ ΠΌΡΠ΄ΠΆΠΈΠΊΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ TOML-ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²
ΠΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΡΡΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ JSON Π²Π²ΠΈΠ΄Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ βΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈβ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π―Π Π·Π°ΡΠ΅Π»ΠΈΠ·ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΡΡΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ JSON Π²Π²ΠΈΠ΄Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ βΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈβ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π―Π Π·Π°ΡΠ΅Π»ΠΈΠ·ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΡΠΏΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΠ΄ΠΎΠ² Π² Π³ΡΡΠΏΠΏΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΊΠΎΡΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠ²Π°Π»ΠΈΠ²Π°ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ° ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΡ? Π Π²ΡΠ²ΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ°, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΠ΄ΠΎΠ² Π² Π³ΡΡΠΏΠΏΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΊΠΎΡΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠ²Π°Π»ΠΈΠ²Π°ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ° ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΡ? Π Π²ΡΠ²ΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ°, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π£ΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π² Python Π²Π΅ΡΡΠΈΠΉ 2.x.x ΠΈ 3.11.4, ΡΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ»ΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ Π² ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π Π·Π°Π±Π°Π²Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ _io, marshal ΠΈ ΠΏΡΠΎΡ., Π΄Π° Π΅ΡΠ΅ ΠΈ ASCII-Π³ΡΠ°ΡΠΈΠΊΠ° Ρ ΠΏΠΈΡΠΎΠ½ΡΠΈΠΊΠΎΠΌ.
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π² Python Π²Π΅ΡΡΠΈΠΉ 2.x.x ΠΈ 3.11.4, ΡΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ»ΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ Π² ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π Π·Π°Π±Π°Π²Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ _io, marshal ΠΈ ΠΏΡΠΎΡ., Π΄Π° Π΅ΡΠ΅ ΠΈ ASCII-Π³ΡΠ°ΡΠΈΠΊΠ° Ρ ΠΏΠΈΡΠΎΠ½ΡΠΈΠΊΠΎΠΌ.
Π£Π»ΡΡΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
Π Π°Π½ΡΡΠ΅ ΠΌΡ Π²ΡΡΡΠ½ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π»ΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Π² collect().
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ.
Π Π°Π½ΡΡΠ΅ ΠΌΡ Π²ΡΡΡΠ½ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π»ΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Π² collect().
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ.
ΠΡΠΎΠΊΠ°ΡΠ°Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½ΠΎΠ²ΠΈΡΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΏΠΎ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊΡ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π² ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ, Π±ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ·Π²Π°Π²ΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ^ (ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βΡΠΈΡΠΊΡΠΌΡΠ»Π΅ΠΊΡβ). Π ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ Π½Π° Π½ΠΎΠ»Ρ, ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½ΠΎΠ²ΠΈΡΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΏΠΎ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊΡ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π² ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ, Π±ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ·Π²Π°Π²ΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ^ (ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βΡΠΈΡΠΊΡΠΌΡΠ»Π΅ΠΊΡβ). Π ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ Π½Π° Π½ΠΎΠ»Ρ, ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
enter ΠΈ_enter__ ΠΈ
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² (ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ with), ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π²Ρ ΠΎΠ΄Π΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· Π±Π»ΠΎΠΊΠ° with Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² (ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ with), ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π²Ρ ΠΎΠ΄Π΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· Π±Π»ΠΎΠΊΠ° with Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
init
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² Python, Π²Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ init. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΌ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π΅Π³ΠΎ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»ΠΈΠ½Π° ΡΠ΅Π±ΡΠ° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² Python, Π²Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ init. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΌ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π΅Π³ΠΎ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»ΠΈΠ½Π° ΡΠ΅Π±ΡΠ° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°.
ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ (Built-in)
Π‘Π°ΠΌΠ°Ρ ΡΠΈΡΠΎΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ. Π Π½Π΅ΠΉ Π΅ΡΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Β«ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠΈΒ», ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Python ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ ΠΊ Π½Π΅ΠΉ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠΉ.
Π‘Π°ΠΌΠ°Ρ ΡΠΈΡΠΎΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ. Π Π½Π΅ΠΉ Π΅ΡΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Β«ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠΈΒ», ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Python ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ ΠΊ Π½Π΅ΠΉ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠΉ.
ΠΡ
Π²Π°ΡΡΠ²Π°ΡΡΠ°Ρ (Enclosing)
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Β«Π²ΡΡ ΠΎΠ΄ΠΈΡΡΒ» ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎ.Π². Π½Π° Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β Π½ΠΎ Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π’Π°ΠΊΠΈΠ΅ Π·Π²Π΅ΡΠΈ Π½ΡΠΆΠ½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ°ΡΡΠΎ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ β ΡΠΈΠΊΠ» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΡΡΠ΅ΡΡΠΈΠΊ i ΠΈ ΡΠ½Π°ΡΡΠΆΠΈ, ΠΈ Π²Π½ΡΡΡΠΈ.
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Β«Π²ΡΡ ΠΎΠ΄ΠΈΡΡΒ» ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎ.Π². Π½Π° Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β Π½ΠΎ Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
func1()
, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ func2()
. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ nonlocal
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ enclosing
Π²ΡΠΉΡΠΈ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Β«Π²Π΅ΡΡ
ΠΎΠ²Π½ΠΎΠΉΒ» ΡΡΠ½ΠΊΡΠΈΠΈ.Π’Π°ΠΊΠΈΠ΅ Π·Π²Π΅ΡΠΈ Π½ΡΠΆΠ½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ°ΡΡΠΎ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ β ΡΠΈΠΊΠ» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΡΡΠ΅ΡΡΠΈΠΊ i ΠΈ ΡΠ½Π°ΡΡΠΆΠΈ, ΠΈ Π²Π½ΡΡΡΠΈ.