ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² python
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ Π²Π°ΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Python, Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ . ΠΠΎ ΡΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 2 ΡΠΈΠΏΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ²:
ΠΠ°ΠΊ CPython Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ «ΠΠΈΡΠΎΠ½Π°» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ.
ΠΡΠ°ΠΏ #1. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Python-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ½ Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ΄ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²:
ΠΡΠ°ΠΏ #2. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ) ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°). Π’Π°ΠΊΠ°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ β Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΡΠ°ΠΏ #3. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½, ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Python (PVM). ΠΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π½Π° PVM. ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
PVM ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Python-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π‘Python
CPython ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΈ Π·Π°Π΄Π°Ρ.
Jython
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ β ΡΠ΅ΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Java. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Jython ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
IronPython
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ PyPy ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (just-in-time), ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π»Π΅ΡΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ PyPy ΠΎΠ±Π³ΠΎΠ½ΡΠ΅Ρ CPython Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠΎ ΠΏΠ»Π°ΡΠ° Π·Π° ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ β Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π·Π° 10 ΠΌΠΈΠ½ΡΡ
ΠΠ° ΡΠ°ΠΉΡΠ΅ Poromenos’ Stuff Π±ΡΠ»Π°
ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΡΠ°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ, Π² ΡΠΆΠ°ΡΠΎΠΉ ΡΠΎΡΠΌΠ΅,
ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ
ΡΠ·ΡΠΊΠ° Python. Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π΅ Π΄ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ. Π― ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΡΠ°Π»ΠΈΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ·ΡΠΊ Python, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΡΠΎ ΡΡΠ°
ΡΡΠ°ΡΡΡ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ! ΠΠ° ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ
ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° Python. Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ ΡΠ°ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ
Π½Π° ΡΠΎ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ, Ρ Π½Π°Π΄Π΅ΡΡΡ, Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ
ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ. Π ΡΠ²ΡΠ·ΠΈ Ρ
ΡΠΆΠ°ΡΠΎΡΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²Π΅ΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠ΅ΡΡΠΈΠ°Π».
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°
Python Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ var Π½Π΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Var ΠΈΠ»ΠΈ VAR β ΡΡΠΎ ΡΡΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅) ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ
ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Python. ΠΠ½ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ (begin..end Π² pascal ΠΈΠ»ΠΈ <..>Π² Π‘ΠΈ), Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΎΡΡΡΡΠΏΠ°ΠΌΠΈ: ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠ΅ΠΉ, Π° Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ. ΠΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ Π·Π½Π°ΠΊΠ° ΡΡΠ½ΡΠ° Β«#Β», ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ β Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ΅ΠΌΡ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ Β«»»»Β».
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊ Β«=Β», Π° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ β
Β«==Β». ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«+=Β», Π° Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ β Β«-=Β». ΠΡΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠΈΠΏΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Β«:Β». Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎ ΠΎΡΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΡΠΈΠ²Π°, Π° Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ β ΡΠΎ ΠΌΠ°ΡΠΈΠ² ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠΎΠ½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π‘ΡΡΠΎΠΊΠΈ
Π‘ΡΡΠΎΠΊΠΈ Π² Python ΠΎΠ±ΠΎΡΠΎΠ±Π»ΡΡΡΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ Β«»Β» ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ Β«’Β». ΠΠ½ΡΡΡΠΈ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠΎΠ²ΡΡΠ΅ΠΊ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠΊΠ° Β«ΠΠ½ ΡΠΊΠ°Π·Π°Π» ‘ΠΏΡΠΈΠ²Π΅Ρ’!Β» Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠ°ΠΊ Β«ΠΠ½ ΡΠΊΠ°Π·Π°Π» ‘ΠΏΡΠΈΠ²Π΅Ρ’!Β». ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ, ΡΠΎ ΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π°Π΄ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΡΠ΅ΠΌΡ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ Β«»»»Β». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½ ΡΡΡΠΎΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ½Π°ΠΊ ΠΏΡΠΎΡΠ΅Π½ΡΠ° Β«%Β» ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ, Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Β«%sΒ» Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ°. Π‘Π»ΠΎΠ²Π°ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΡΠ°Π²Π»ΡΡΡ Π² ΡΡΡΠΎΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Β«%(ΠΈΠ½Π΄Π΅ΠΊΡ)sΒ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΌΠ΅ΡΡΠΎ Β«%(ΠΈΠ½Π΄Π΅ΠΊΡ)sΒ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ while, if, for ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π΅ΡΡ Π½Π΅Ρ Π°Π½Π°Π»ΠΎΠ³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° select, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡΡ if. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ for ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΠΏΠΈΡΠΊΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΡ Π΄ΠΎ ΡΠΈΡΠ»Π° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ range( ). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
if rangelist[ 1 ] == 2 :
print Β«The second item (lists are 0-based) is 2Β»
elif rangelist[ 1 ] == 3 :
print Β«The second item (lists are 0-based) is 3Β»
else :
print Β«DunnoΒ»
while rangelist[ 1 ] == 1 :
pass
Π€ΡΠ½ΠΊΡΠΈΠΈ
# Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° def f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar( 1 )
2
ΠΠ»Π°ΡΡΡ
Π―Π·ΡΠΊ Python ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π΄Π²ΡΡ Π·Π½Π°ΠΊΠΎΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Β«__Β» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«__myprivatevarΒ»). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ·Π²Π½Π΅. ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ try—except [exceptionname]:
def somefunction():
try :
# ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
10 / 0
except ZeroDivisionError :
# ΠΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ «ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ»
# Π ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±Π»ΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«ZeroDivisionErrorΒ»
print Β«Oops, invalid.Β»
ΠΠΌΠΏΠΎΡΡ
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ Β«import [libname]Β», Π³Π΄Π΅ [libname] β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«from [libname] import [funcname]Β», ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ [funcname] ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ [libname]
import random #ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Β«randomΒ»
from time import clock #Π Π·Π°ΠΎΠ΄Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Β«clockΒ» ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Β«timeΒ»
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
Python ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΊΠ°, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Β«pickleΒ»
myfile = file (r Β«C:\text.txtΒ» )
>>> print myfile.read()
‘This is a sample string’
myfile.close()
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
def myfunc():
# ΠΡΠ²ΠΎΠ΄ΠΈΡ 5
print number
def anotherfunc():
# ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π°ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
# Π½Π΅ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π½Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Python Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ
# ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
# ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
print number
number = 3
def yetanotherfunc():
global number
# Π ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
number = 3
ΠΠΏΠΈΠ»ΠΎΠ³
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Python. Π― Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Python
ΠΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python. Π§1
ΠΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΠ°Π²Π΅ΡΠ½ΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡ, ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΎΠ²Π»Π°Π΄Π΅Π» ΠΈ ΠΌΠ½ΠΎΠΉ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π΅ ΡΡΠΎΠΏΠ°ΡΡ Π² Π½ΡΠΌ ΠΈ Π½Π΅ Π·Π°ΠΊΠΎΠΏΠ°ΡΡΡΡ ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ Π²ΡΠ»Π΅Π·ΡΠΈ. ΠΠ°ΠΉΠ΄Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Ρ ΡΠ΅ΡΠΈΠ» Π·Π°Π±ΠΎΡΠ»ΠΈΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Ρ Π°Π±ΡΠΎΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ (ΠΌΠΎΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ, ΠΏΡΠΎΡΡ Π½ΠΎΠ³Π°ΠΌΠΈ ΡΠΈΠ»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΈΠ½Π°ΡΡ). Π’Π΅ΠΌ, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΏΡΠΎΡΡ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ° Ρ ΠΏΠΎΡΡΠ°ΡΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° byterun, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ Π±Π°ΠΉΡΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅. Π Π°Π±ΠΎΡΠ° Π½Π°Π΄ ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π±ΡΠ»Π° Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΠ΅ Π²Π΅ΡΡΠ»ΠΎΠΉ ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ. Π― Π±ΡΠ» Π±Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ ΡΠΎΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΡΠΊΠ°Π»ΠΈ. ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ΅ΠΏΠ΅Π½ΠΈΡΡΡ, ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ python, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΌΡ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈ Ρ ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΅Π΄ΡΡ.
Π― ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Ρ, ΡΡΠΎ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΠΈ Ρ ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ° Π½Π°Π·Π°Π΄. ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ python, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ°: Π― ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 2.7 Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅. Π’ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΡΡΠΈ ΡΡ ΠΎΠΆΠ° ΡΠΎ Π²ΡΠΎΡΠΎΠΉ, Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΡ , Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΡΡ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ python?
ΠΡ Π½Π°ΡΠ½ΡΠΌ Ρ ΠΎΡΠ΅Π½Ρ (ΠΎΡΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ) Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ. Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π² Π²Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅?
ΠΠΎΠ΄Ρ ΠΈΠ΄ΡΡ, Π»Π΅Π΄ΡΠ½ΠΊΠΈ ΡΠ°ΡΡ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ ΠΏΠΈΠ»ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ, Π° 64 Π±ΠΈΡΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π±Π΅Π· ΡΡΡΠ°Π»ΠΈ ΡΡΡΠ΄ΠΈΡΡΡ, ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π³Π°: Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΠ·, ΠΏΠ°ΡΡΠΈΠ½Π³, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ. ΠΠ°ΡΡΠ΅Ρ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΡΠΊΠΎΡΠΌΠ»Π΅Π½Π½ΡΠ΅ Π΅ΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΈΡ ΡΠ²ΡΠ·Ρ ΡΠΎΡΠΌΠΈΡΡΡ AST( ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ). ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ AST Π² ΠΎΠ΄Π½ΠΈ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠ΄Π° (Π±Π°ΠΉΡΠΊΠΎΠ΄ + ΠΎΠ±Π²ΡΠ·ΠΊΠ°). ΠΠΎΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
Π― Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅, ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΡΠ°ΠΌ ΠΏΡΠΎ ΡΡΠΈ Π²Π΅ΡΠΈ Π½ΠΈ ΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ, Π½ΠΎ Π½Π΅ ΡΠ½ΡΠ²Π°ΠΉΡΠ΅: Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΠΎ, ΠΏΠΎΡΡΠ°ΡΠΈΠ² ΡΠ°ΡΠΎΠ² ΡΡΠ°ΠΊ ΠΏΡΡΡΠ΄Π΅ΡΡΡ. ΠΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΡΠΈ ΡΠ°Π³ΠΈ ΠΏΡΠΎΡΠ»ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π° ΡΡΠΊΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ python ΠΊΠΎΠ΄Π°.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π΄Π΅Π»Ρ, Ρ Ρ ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠ΅ΠΌΠ°ΡΠΊΡ: Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠΎΠΏΠΈΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΊΠΎΠ΄Π°, ΠΈ Π±Π°ΠΉΡΠΊΠΎΠ΄Π΅. ΠΡΠΎ Π²ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½ΡΠΌ Ρ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²Π½ΠΈΠΊΠ°ΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² Π½ΠΈΡ , ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, Π½ΠΎ Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΡ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ΄Π° β ΡΡΠΎ Π΄Π²Π΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·Π½ΠΈΡΡ, Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΠ°ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅.
ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡ Π½Π°Π²Π΅ΡΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎ Β«ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈΒ». ΠΡΠΎ Π²Π΅ΡΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ: Β«Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°Β». ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
Β«Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ MyObject ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π Π°Π· foo ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΅Π³ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ (Π² ΡΡΠΎΠΌ ΠΈ Π΅ΡΡΡ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ foo() ΠΈ foo). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄Π°ΡΡ foo ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° foo ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ:
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π² Π²ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠ΄Π° ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π°ΡΡΠΈΠ±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ΄Π°:
ΠΠ΄Π΅ΡΡ ΡΠ΅Π»Π°Ρ ΠΊΡΡΠ° Π½ΠΈΡΡΡΠΊΠΎΠ², Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° foo.
ΠΠΎΡ ΡΡΠΎ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ: ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎ ΠΌΡ Π²ΡΡ Π΅ΡΡ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π½ΠΈ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π°ΠΉΡΠΊΠΎΠ΄ΠΎΠΌ ΡΡΡΠ»ΠΊΠ°, ΠΊΡΡΠ°ΡΠΈ ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ΄Π°:
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Ρ ΡΡΠΎ Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ΄Π° ΡΡΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅. ΠΠ°ΠΉΡΠΊΠΎΠ΄ ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π±Π°ΠΉΡΠΊΠΎΠ΄? ΠΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ Π±Π°ΠΉΡ. ΠΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΡΡΠ°Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π±Π°ΠΉΡΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π° Π΄ΡΡΠ³ΠΈΠΌ Π½Π΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΡΠ»Π°.
ΠΠΎΡ Π±Π°ΠΉΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΡΡΡ Π²ΡΡ ΠΌΠ°Π³ΠΈΡ. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π±Π΅Π·ΡΡΡΠ°Π½Π½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π±Π°ΠΉΡΡ, ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΉΡΠΈ Π΅ΡΡ Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Cpython Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ceval.c ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡΠΊΠΎΠ΄Π°
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²Π·ΡΡΡ Π²ΡΠ΅ ΡΡΠΈ Π±Π°ΠΉΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΠΎ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, ΡΡΠΎ ΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΈ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΠΎΠ½ΡΡΡ. ΠΡΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΠΈΡΠΎΠ½Π°. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β ΠΌΠΎΠ΄ΡΠ»Ρ dis. ΠΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ dis.dis ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π½Π°ΡΠ° foo.
ΠΠ΅ΡΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ python ΠΊΠΎΠ΄Π°, Π²ΡΠΎΡΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ Π±Π°ΠΉΡΠΊΠΎΠ΄Π°: LOAD_CONST Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 0, Π° STORE_FAST Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 3 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ΡΠ΅Π΄Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π°ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ± Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π΅Π»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ), ΡΠ΅ΡΠ²Π΅ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π² Π΄ΡΡΠ³ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ΄Π°. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ LOAD_CONST ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΡΠΏΠΈΡΠΊΠ΅ co_consts, Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ STORE_FAST ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π² co_varnames, Π² ΠΏΡΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ:
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π²ΡΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ STORE_FAST ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 3 Π² Π±Π°ΠΉΡΠΊΠΎΠ΄Π΅. ΠΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° Π±Π°ΠΉΡΠ° ΠΈ Π΅ΡΡΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. Π Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΊΠΈ Π² ΡΠΎΠΌ ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅, Π΄ΠΎΠ±ΡΠΎΠ΅, Π²Π΅ΡΠ½ΠΎΠ΅. (Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ BINARY_ADD Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ ΠΌΡ Π΅ΡΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΎΠΌΡ)
ΠΡΠ»Π° ΠΎΠ΄Π½Π° Π²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄ΠΈΠ²Π»ΡΠ»Π° ΠΌΠ΅Π½Ρ ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ΅Π» ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ python, ΠΊΠ°ΠΊ python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡ ΠΈ Β«ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡΒ»? ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΈ Π΄Π²Π° ΡΠ»ΠΎΠ²Π° Β«Π°Π½ΡΠΎΠ½ΠΈΠΌΡΒ», Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Python, Ruby, ΠΈ Javascript, Π° Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΊΠΈ ΠΊΠ°ΠΊ C, Java, ΠΈ Haskell.
ΠΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎΠ± ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π²Π²ΠΈΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² Π½Π°ΡΠΈΠ²Π½ΡΠ΅ x86/ARM/etc ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠΎΠ±ΡΠ΅, ΡΠ°Π·Π²Π΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Β«ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡΒ» Π½Π° Π»Π΅ΡΡ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΈΡΠΎΠ½Π° ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π²Π½ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΡΠΎ ΠΊΡΡΠ°ΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π±ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ Π½Π°Π΄ΠΎ Π±ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ:
ΠΡΠ° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄Π΅. Π ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΡ modus Π±ΡΠ»Π° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΡΠ΄Π° Π±ΡΠ» ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ, Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΡΠ°ΡΠΊΠ° ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ % (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ modulus) ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² BINARY_MODULO. ΠΠΎΡ ΠΎΠΆΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΈΡΠ΅Π»:
ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎ, Π° ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ ΡΡΠΎ ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΠΎΠΊΡ.
ΠΠΏΠ°Π½Π°, ΡΡΠΎ ΡΡΠΎ ΡΡΡ? ΠΡ Π½Π°Π²Π΅ΡΠ½ΠΎ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠΎ ΡΠ°Π½ΡΡΠ΅:
ΠΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ BINARY_MODULO Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π²ΡΡ ΡΡΡΠΎΠΊ ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΡΡΠΎΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°ΡΠΊΠ° ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ modulus ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ x ΠΈ y, ΡΡΡΠΎΠΊΠΈ Π»ΠΈ ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΠ»Π° ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ. ΠΠ½ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ: Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π΅Π½Π½ΡΡ, Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄ΡΡΠ³ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅ΠΏΠ°ΡΠ°ΡΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΠΎΠΌ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΎ BINARY_MODULO Π·Π½Π°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ modulus ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ ΠΎΡΡΠ°ΡΠΎΠΊ, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΡΠΎΠΊΠΈβ¦ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ? ΠΡΠ»ΠΈ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ»Π°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ __mod__ ΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
ΠΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π±Π°ΠΉΡΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ modulus ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π±ΡΠ΄ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° TypeError Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ.
ΠΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ python. ΠΡ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΡΡΠΎ Π·Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅. Russell Power ΠΈ Alex Rubinsteyn Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠ°ΡΡΡ Β«ΠΊΠ°ΠΊ Π±ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ pythonΒ», ΡΡΠΎ ΡΡΠ°ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½Π°Ρ.
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠΊΠ° Π²ΡΠ΅. ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ ΡΡΡ. ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ.ΠΊ. ΠΎΡ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΎΠ±Π»Π°Π΄Π°Ρ Π²ΡΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ Π±Π΅Π·Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΈΡΡ Python ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² Data Science. ΠΠ΄ΡΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ: ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π΄ΠΎ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΡΡΠΎΠ².
Π‘ΡΠ°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° Ρ ΠΠ°Π»Π΅Π½ΡΠΈΠ½ΠΎΠΌ ΠΠ°Π½ΠΎΠ²ΡΠΊΠΈΠΌ.
Π Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄Π΅ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ, Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΏΠΎΡΠΉΡΠ°. Π‘Π΅ΠΉΡΠ°Ρ ΡΡΠΈΡ ΡΠΈΠ½ΡΠΊΠΈΠΉ. ΠΡΠ±ΠΈΡ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΡ ΠΈ ΠΠ°Π»ΡΠΈΠΉΡΠΊΠΎΠ΅ ΠΌΠΎΡΠ΅.
Python β Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π·Π²Π°Π½Π½ΡΠΉ ΡΠ°ΠΊ Π² ΡΠ΅ΡΡΡ Π±ΡΠΈΡΠ°Π½ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΡ Β«ΠΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΠΈΡΠΊ ΠΠΎΠ½ΡΠΈ ΠΠ°ΠΉΡΠΎΠ½Π°Β».
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΈΡΡ Python, Π³Π΄Π΅ ΠΈ ΠΊΠΎΠΌΡ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Python? ΠΡΠΈΡΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎ:
Data Science, ΠΈΠ»ΠΈ Π½Π°ΡΠΊΠ° ΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ, IT ΠΈ Π·Π½Π°Π½ΠΈΡ ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ΅. Python ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π» ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π² Data Science: ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΡΠΌ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Data Science ΡΠ΅ΠΉΡΠ°Ρ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½ΡΠΆΠ½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ Π²ΡΡ ΡΠ°ΡΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Python
ΠΠ»ΡΡΡ:
ΠΠΈΠ½ΡΡΡ:
ΠΠ°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ: Π² Python Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ½Π°ΡΠ°Π»Π° int (ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ), Π° ΠΏΠΎΡΠΎΠΌ float (ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ) ΠΈΠ»ΠΈ str (ΡΡΡΠΎΠΊΠ°, ΡΠ΅ΠΊΡΡ), ΠΈ ΡΠΈΠΏ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΌ. ΠΠ° ΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡΡ.
ΠΠΎ Python ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π½ΡΠ°Π»ΠΎΠ² ΠΊΠ°ΠΊ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π½Π°Π½ΠΈΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π²Π°ΠΌ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ: Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ (Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΠ·ΡΠΊ, Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡ Π·ΡΠ±ΡΠΈΡΡ), Π° Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠΎΠΆΠ΅ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ.
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Π² Python
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ². ΠΠ»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Anaconda.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Python?
ΠΡΠ΅ΠΌ Π΅ΡΠ΅ ΡΠ°Π· ΠΏΡΠΈΠ²Π΅Ρ, ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Python, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, Π΄Π°Π»Π΅Π΅ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ (PVM) ΠΈ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Python. Π’Π°ΠΊΠΆΠ΅ ΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ΅Π±Π΅ Python, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ-ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Python ΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ C, ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² Java ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠ°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ°Π½Π΄, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ:
ΡΡΠ°, Π½Π°ΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°! π
ΠΠ°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» «test.py», Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ»:
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΠ΅Ρ Π°Π»ΠΈ Π΄Π°Π»ΡΡΠ΅!
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΈΠ½ΡΠ΅Ρ ΡΡΠ°ΠΏ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΎΡΠ΄Π°ΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ «.pyc». ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΡΠ°ΠΏ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° Π΄Π°ΡΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠ»ΠΈ Python ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΡΠ°Π² Π½Π° Π·Π°ΠΏΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π΅Ρ, ΠΏΡΠΎΡΡΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°Π½ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΡΠ΄Π° ΡΠ΄Π°Π»Π΅Π½.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Python (PVM)
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡΡΠΎ ΠΊΠ°ΠΊ Π½Π° C/C++. ΠΠ±Ρ ΠΎΠ΄ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π° Π½Π΅ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΈ ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
Π ΠΈΡΠΎΠ³Π΅, Python ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΠΈΠΌΠΈ ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Python
Π’ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Python, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ CPython (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ANSI C). ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Jython ΠΈ IronPython, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅ΡΡ.
CPython
ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Python, Π½Π°Π·Π²Π°Π½Π° ΡΠ°ΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ANSI C. ΠΠΌΠ΅Π½Π½ΠΎ Π΅Π΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ActivePython ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈΠ· FreeBSD ΠΏΠΎΡΡΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ½Π° ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΡΡΠΎΠΉΡΠΈΠ²Π΅Π΅ ΠΈ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Jython
Π¦Π΅Π»Ρ Jython ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Python ΡΠΏΡΠ°Π²Π»ΡΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ CPython ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ°Ρ C/C++. ΠΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π±Π΅cΡΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Java. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Java, Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ½ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Java. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Jython ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π»Π΅ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Java ΠΈ Ρ.Π΄. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Jython ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Java-ΠΊΠ»Π°ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Python.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Jython ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ CPython, ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΡΠΊΠΎΡΠ΅Π΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Java, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊ Java-ΠΊΠΎΠ΄Ρ.
IronPython
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Psyco ΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ Shedskin C++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Psyco
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Psyco ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠΎΠΊΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ°ΡΡΠΊΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π ΠΈΠ΄Π΅Π°Π»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Psyco ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ.
Psyco ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΡ 2 Π΄ΠΎ 100 ΡΠ°Π·, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π² 4 ΡΠ°Π·Π°, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ Ρ Psyco, ΡΡΠΎ ΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Intel x86.
Psyco Π½Π΅ ΠΈΠ΄Π΅Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅, Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΡΠ΅ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ PyPy, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ PVM Ρ ΡΠ΅Π»ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ Π² Psyco, ΠΏΡΠΎΠ΅ΠΊΡ PyPy ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ³Π»ΠΎΡΠΈΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Psyco.
Π’ΡΠ°Π½ΡΠ»ΡΡΠΎΡ Shedskin C++
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (frozen binaries)
ΠΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Python ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠ°ΠΊΠ΅ΡΠ° Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, PVM ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ «.exe» Π΄Π»Ρ Windows.
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ «frozen binaries»:
ΠΠ°ΠΌ Π½Π°Π΄ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ Python, ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΌΠ°Π»ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΈΠ±ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π² ΡΠ΅Π±Π΅ PVM, Π½ΠΎ ΠΏΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΊΠ°ΠΌ ΠΈΠ· Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python Π²ΡΡΡΠΎΠ΅Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅.
Π Π΅Π·ΡΠΌΠ΅
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²ΡΡ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Python, Π½Ρ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
ΡΠΎΠ·Π΄Π°Π» ΡΠ°ΠΉΠ», Π·Π°ΠΏΡΡΡΠΈΠ» Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΠΉΡΠΎΠ½, Π½ΠΎ ΠΏΠΈΡΠ΅Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠ°ΠΉΠ» ΡΠΎΡ
ΡΠ°Π½Π΅Π½ Π² UTF-8) π
SyntaxError: Non-ASCII character ‘\xd0’