ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΠ°ΠΊ Π² Python ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠΈΠΏΠ° integer?
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΊΡΡΡΠ° Β«Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PythonΒ».
ΠΠΎ Π² Python ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ:
ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ Python Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ-ΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ΅ ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°!
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
Integer Π² Python ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° C, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ PyObject_VAR_HEAD :
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ob_digit
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π‘, ΡΠΎΡΠ½ΠΎΡΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° 64-Π±ΠΈΡΠ°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Python ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Python 3, Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ bignum ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ob_size
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅
Π‘Π°ΠΌΡΠΉ Π½Π°ΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΠ»Π° ΡΠΈΠΏΠ° integer β ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ ΡΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ»Ρ.
Π‘ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΡΠΈΡΠ»ΠΎ 5238 Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ ΡΠ°ΠΊ:
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎ 32-Π±ΠΈΡ ΡΠΈΡΡ (uint32_t) Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ, ΠΏΠΎ ΡΡΡΠΈ, ΠΊΠΎΠ»Π΅Π±Π»Π΅ΡΡΡ ΠΎΡ 0 Π΄ΠΎ 9 ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 4 Π±ΠΈΡΠ°ΠΌΠΈ, Π²Π΅Π΄Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ python, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΄ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π΅Π΅.
ΠΡΠ°ΠΊ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΠ΅? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠ½Π°ΡΠ΅ Ρ Π±Ρ Π½Π΅ Π²ΡΠ»ΠΎΠΆΠΈΠ» ΡΡΡ ΡΡΠ°ΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎ, ΠΊΠ°ΠΊ Python Ρ ΡΠ°Π½ΠΈΡ ΡΠ²Π΅ΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡΡΡ Python
Π ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ 16
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Python ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² 32 Π±ΠΈΡΠ° Π½Π° ΠΎΠ΄Π½Ρ ΡΠΈΡΡΡ, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ΅ΡΡΡΡΡ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ»Ρ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ 32-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π»ΠΈΠ±ΠΎ 16-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ 15-Π±ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π΄Π°Π»ΡΡΠ΅, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΡΠΎΠ².
1152921504606846976 = 1 * (2 30 ) 2 + 0 * (2 30 ) 1 + 0 * (2 30 ) 0
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ob_digit ΠΏΠ΅ΡΠ²ΡΠΌ Ρ ΡΠ°Π½ΠΈΡ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°ΡΠ°ΡΡΡ ΡΠΈΡΡΡ, ΠΎΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 001 Π² Π²ΠΈΠ΄Π΅ ΡΡΠ΅Ρ ΡΠΈΡΡ.
Π‘ΡΡΡΠΊΡΡΡΠ° _longobject Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ:
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΡΠΈΠΏΠ° integer
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Python ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π½Π°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π¦Π΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Ρ ΡΠ°Π½ΡΡΡΡ Β«Π² ΡΠΈΡΡΠ°Ρ Β», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ»Π΅, ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Python ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ x_add Π² ΡΠ°ΠΉΠ»Π΅ longobject.c Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π».
ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ x_sub Π² ΡΠ°ΠΉΠ»Π΅ longobject.c Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π ΡΠ½ΠΎΠ²Π° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°ΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ ΠΈΠ· ΡΡΠΎΠΊΠΎΠ² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ»Π΅, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, Python ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΡΠ°ΡΡΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΄Π²Π° n-Π·Π½Π°ΡΠ½ΡΡ ΡΠΈΡΠ»Π° Π·Π° O( n log 2 3 ) ΠΏΡΠΎΡΡΡΡ ΡΠ°Π³ΠΎΠ².
ΠΠ΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»
ΠΡΠΎ Π²ΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ Python Internals. ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ²ΠΎΡ Π²Π΅ΡΡΠΈΡ Python, ΡΠ΄Π΅Π»Π°Π² Π΅Π³ΠΎ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ. ΠΠ½Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΏΡΡΡ ΠΊ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠ΄ΡΠ° Python.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠΈ ΠΏΠΎ Python β Ρ ΠΈΡΡΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅!
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΅Π·ΠΆΠ°ΡΡ Ρ Π²Π΅ΡΡΠΈΠΈ 2 Π½Π° 3 ΠΈΠ·-Π·Π° Python EOL (ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 2.7 ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡΡΡ Ρ 2020 Π³ΠΎΠ΄Π°). Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Python 3 Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Python 2 ΡΠΎ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ. Π ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Python 3, Ρ Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠ°ΡΡ Π²Π°ΡΠΈ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈ Π±ΡΠ΄ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Python?
ΠΠ° Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΡΠΌΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
Telegram Π§Π°Ρ & ΠΠ°Π½Π°Π»
ΠΡΡΡΠΏΠΈΡΠ΅ Π² Π½Π°Ρ Π΄ΡΡΠΆΠ½ΡΠΉ ΡΠ°Ρ ΠΏΠΎ Python ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘ΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
ΠΠ°Π±Π»ΠΈΠΊ VK
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΏΠΎ Python Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΠ. ΠΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ Π²Π°Ρ!
ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π² Python 3.7 ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Python Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
F-ΡΡΡΠΎΠΊΠΈ (Python 3.6+)
Π‘Π»ΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π±Π΅Π· ΡΡΡΠΎΠΊ Π² Python ΠΈ ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΡΠ΄Π΅ΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ Python, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ format python.
Pathlib (Python 3.4+)
F-ΡΡΡΠΎΠΊΠΈ β ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ. Python 3 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ pathlib Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΡΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΡΠΈΠΏΠΎΠ² | ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° | Type hinting (Python 3.5+)
Π‘ΠΏΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ python Π»ΡΡΡΠ΅ β ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ β Π½Π΅ ΡΠΌΠΎΠ»ΠΊΠ°ΡΡ ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ ΠΈ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡ ΡΡΠ΅Ρ. ΠΡΠΎ Π»ΠΈΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ β ΠΊΠΎΠ³Π΄Π° Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π²ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΈΠΏΡ, Π½ΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠΎ Π²Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Python 3 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΡΠΈΠΏΠΎΠ².
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ enum (Python 3.4+)
Python 3 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡ Enum. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ Π±Π΅Π· ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠΌΠ΅Π½ (ΡΠ»Π΅Π½ΠΎΠ²), ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ, ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ»Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ LRU ΠΊΡΡ (Python 3.2+)
ΠΠ½ΠΈΠ·Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡΠΎΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ, ΠΊΠ°ΠΊ ΠΌΡ Π·Π½Π°Π΅ΠΌ, Π²ΡΠΈΠ³ΡΠ°Π΅Ρ ΠΎΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΡΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ lru_cache Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (ΡΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΠΌΠΎΡΠΈΠ·Π°ΡΠΈΡ). ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π°ΡΡΠΈΡΡΠ΅Ρ ΠΎΡ ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄.
ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° (Python 3.0+)
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΡΠ°ΠΌ Π·Π° ΡΠ΅Π±Ρ (Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ):
ΠΠ»Π°ΡΡΡ Π΄Π°Π½Π½ΡΡ (Python 3.7+)
Π’Π° ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Armor ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ (Python 3.3+)
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Python Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ (ΠΏΠ°ΠΏΠΊΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ __init__.py ). ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Python.
ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Ρ ΡΠΊΠ°Π·Π°Π» Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ 420 Π² PEP β ΡΠ°ΠΉΠ» __init__.py Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΈΠ· ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π½ΠΈΡ ΠΎΠ·Π²ΡΡΠΈΠ²Π°ΡΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΠ°ΠΊ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΡΡΠΎΡ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌ. ΠΠ°Π΄Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ Π½Π°ΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ Python 3, ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ, ΠΈ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΡΠΉ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄.
Π―Π²Π»ΡΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΡΠ°Π»ΠΎΠ² ΠΏΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, Golang ΠΈ Kotlin. Π ΡΠΎΡΡΠ°Π²Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ², ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ°ΡΠ΅ΠΉ Π±ΡΠ»Π° Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π°ΠΌΠΈ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
E-mail: vasile.buldumac@ati.utm.md
ΠΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
Universitatea TehnicΔ a Moldovei (utm.md)
ΠΡΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎ Python. ΠΠΈΡΠ΅ΠΌ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡΠΉ ΠΊΠΎΠ΄
Kenneth Reitz Π½Π° PyCon Π² ΠΠ²ΡΡΡΠ°Π»ΠΈΠΈ (2012)
Π‘ΡΡΡΠΊΡΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΡ ΠΏΡΠΈΠ½ΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° Python, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄. Π‘ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΡΡΡΡΠΊΡΡΡΠ°Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅) ΡΠΈΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΡΠΎΡΠΎΠΌ, Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ Π² ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ? ΠΠ°ΠΊ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ΅ΠΊΡ? ΠΠ°ΠΊΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ? ΠΡΠ²Π΅ΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΎΠ² Π² Python, Ρ.ΠΊ. ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΡΠ΅ΠΌ, ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½.
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ΅ΡΠ°Π΅Ρ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Python, ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΏΡΠΎΡΡΠΎΒ», Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΈ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΠ°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠΈΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ΄ΠΈΡΡΡΡ Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
ΠΠΎΠ΄ΡΠ»ΠΈ
ΠΠΎΠ΄ΡΠ»ΠΈ Π² Python ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ»ΠΎΠ΅Π² Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ·ΡΠΊΠ°. Π£ΡΠΎΠ²Π½ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Ρ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΈ ΡΠ²Π΅ΡΡΡΡΡΡ, ΡΡΠΎ ΠΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΡΠΊΠ° (.) ΠΈΠ»ΠΈ Π·Π½Π°ΠΊ Π²ΠΎΠΏΡΠΎΡΠ° (?). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ my.spam.py, ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅ΡΠ°ΡΡ Python ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Python ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π½Π°ΠΉΡΠΈ » spam.py » Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ » my «, ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΡΠ½Π°Ρ Π½ΠΎΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ Python.
ΠΠΎΠΌΠΈΠΌΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΡ Python-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ, Π½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ module.py Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ±ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ module.py Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΡ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ β ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠΎΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠ·ΡΠΊΠ΅ Python.
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠ°ΠΉΠ» Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ Β«ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡΒ» Π΅Π³ΠΎ Π² ΠΊΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Python, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ from module import func ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΅ Π²ΡΠ΅Π΄Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠ΄Π° Π½Π΅ΠΆΠ΅Π»ΠΈ » import * «, Ρ.ΠΊ. ΡΡΡ ΡΡΠ½ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ import module Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ.
Python Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π½ΡΠ»Ρ. Π£ΡΠΈΠΌΡΡ ΠΊΠΎΠ΄ΠΈΡΡ Π±Π΅Π· ΡΠΊΡΡΠ½ΡΡ ΠΊΠ½ΠΈΠΆΠ΅ΠΊ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ
ΠΠ΅ΒΠ΄Π°Π²ΒΠ½ΠΎ ΠΌΡ ΠΏΡΠΎΒΠ²ΠΎΠ΄ΠΈΒΠ»ΠΈ ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΡΡΡ ΠΏΠΎ Python Π±ΡΠ» Π±Ρ ΠΈΠ½ΡΠ΅ΒΡΠ΅ΡΒΠ½Π΅Π΅ ΡΠΈΡΠ°ΡΠ΅ΒΠ»ΡΠΌ. ΠΠ²Π΅ ΠΏΠ΅ΡΒΠ²ΡΠ΅ ΡΡΡΠΎΡΒΠΊΠΈ Ρ Π±ΠΎΠ»ΡΒΡΠΈΠΌ ΠΎΡΡΡΒΠ²ΠΎΠΌ Π² Π½Π΅ΠΌ Π·Π°Π½ΡΠ»ΠΈ Π²Π°ΡΠΈΒΠ°Π½ΡΡ Β«Π΄Π»Ρ Ρ Π°ΠΊΠ΅ΡΠ°Β» ΠΈ Β«Python Ρ Π½ΡΠ»ΡΒ». Π£Π·Π½Π°Π² ΠΎ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅ΒΠ½ΠΈΠΈ Π΄Π΅Π», ΠΌΡ Π½Π΅ΠΌΠ΅Π΄ΒΠ»Π΅Π½Π½ΠΎ Π·Π°ΠΊΠ°Π·Π°ΒΠ»ΠΈ ΡΡΠ°ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΠΈΒΡΠΎΠ²Π°ΡΡ Π½Π° Python. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠΏΠ΅Ρ , ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π²ΒΡΠ°ΡΠΈΡΡΒΡΡ Π² ΡΠ΅Π»ΡΡ ΡΠ΅ΡΠΈΡ. ΠΡΠ»ΠΈΒΡΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΒΡ ΠΎΠ΄Π° β Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΒΡΡΠ½ΡΒΠ΅ΠΌ Π²ΡΠ΅ ΠΆΠΈΠ²ΡΠΌ ΡΠ·ΡΒΠΊΠΎΠΌ ΠΈ Π΄Π°Π΅ΠΌ Π½Π΅ΡΒΠΊΡΡΠ½ΡΠ΅ ΠΏΡΠΈΒΠΌΠ΅ΡΡ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΎΠ±ΡΒΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΡΒΠΌΠ΅Π½Π½ΠΎΠΌ ΡΡΠΈΒΠ»Π΅ Β«Π₯Π°ΠΊΠ΅ΡΠ°Β»!
Π, ΠΏΠΎΡΒΠΊΠΎΠ»ΡΒΠΊΡ ΡΡΠΎ ΡΠΊΡΠΏΠ΅ΒΡΠΈΠΌΠ΅Π½Ρ, ΡΡΠ°ΡΡΡ Π΄ΠΎΡΒΡΡΠΏΠ½Π° Π±Π΅Π· ΠΏΠ»Π°ΡΒΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΒΠΏΠΈΡΠΊΠΈ.
ΠΡΒΠ»ΠΈ Ρ ΡΠ΅Π±Ρ Π½Π° ΠΊΠΎΠΌΒΠΏΠ΅ Π΅ΡΡΡ ΡΠΎΠ²ΒΡΠ΅ΠΌΠ΅Π½ΒΠ½ΡΠΉ Π΄ΠΈΡΒΡΡΠΈΒΠ±ΡΡΠΈΠ² Linux, ΡΠΎ Π² Π½Π΅Π³ΠΎ ΡΠΆΠ΅ Π²Ρ ΠΎΒΠ΄ΠΈΡ Python 3, Π° ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΒΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±ΒΠ½ΠΎ Π² IDLE β ΠΏΡΠΎΡΒΡΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΒΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΒΠ»Π°Π³Π°ΒΠ΅ΡΡΡ ΠΊ Python. Π Ubuntu, ΡΡΠΎΒΠ±Ρ ΡΡΡΠ°ΒΠ½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ, Π½Π°Π±Π΅ΡΠΈ Π² ΠΊΠΎΠ½ΒΡΠΎΠ»ΠΈ
Π Windows ΠΏΡΠΈ ΡΡΡΠ°ΒΠ½ΠΎΠ²ΒΠΊΠ΅ Python ΠΎΠ±ΡΒΠ·Π°ΡΠ΅Π»ΡΒΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΡ Π½Π° ΠΏΠ΅ΡΒΠ²ΠΎΠΌ ΡΠΊΡΠ°ΒΠ½Π΅ ΡΡΡΠ°ΒΠ½ΠΎΠ²ΒΡΠΈΠΊΠ° Π³Π°Π»ΠΎΡΒΠΊΡ Add to Path, ΡΡΠΎΒΠ±Ρ ΠΌΠΎΠΆΒΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΒΠΊΠ°ΡΡ python3 ΠΈΠ· ΠΊΠΎΠΌΠ°Π½ΒΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΒΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΄ΠΎΠ±ΒΠ½ΠΎΠΌ ΠΌΠ΅ΡΒΡΠ΅.
ΠΠ°ΒΠΏΡΡΒΡΠΈΠ² IDLE, Π·Π°ΠΉΒΠ΄ΠΈ Π² Options β Configure IDLE, ΠΏΠ΅ΡΠ΅ΠΉΒΠ΄ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΒΠΊΡ General ΠΈ ΠΏΠΎΡΒΡΠ°Π²Ρ Π³Π°Π»ΠΎΡΒΠΊΡ Π½Π° ΠΏΡΠ½ΒΠΊΡΠ΅ Open Edit Window, Π½Π°ΠΆΒΠΌΠΈ ΠK ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΒΠΏΡΡΒΡΠΈ IDLE. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΒΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΡ, ΡΠΎΡ ΒΡΠ°Π½ΡΡΡ ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΒΠΊΠ°ΡΡ ΠΊΠ»Π°ΒΠ²ΠΈΡΠ΅ΠΉ F5. ΠΡ ΡΡΠΎ, ΠΏΠΎΠ³ΒΠ½Π°Π»ΠΈ?
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π Π΅ΡΠ»ΠΈ ΠΈΠ·Π½Π°ΒΡΠ°Π»ΡΒΠ½ΠΎ Π½Π΅ΠΈΠ·ΒΠ²Π΅ΡΒΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΡΒΠ»Π° Π½Π°Π΄ΠΎ ΡΠΊΠ»Π°ΒΠ΄ΡΠ²Π°ΡΡ? Π’ΠΎΠ³ΒΠ΄Π° ΠΏΡΠΈΡΒΠ»ΠΎΡΡ Π±Ρ ΡΠΏΠ΅ΡΒΠ²Π° ΠΏΠΎΠΏΒΡΠΎΡΠΈΡΡ ΡΠ·Π΅ΒΡΠ° Π²Π²Π΅ΡΒΡΠΈ ΠΈΡ Π² ΠΊΠΎΠ½ΒΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠ°ΡΡ Enter. ΠΠ°Π²Π°ΠΉ ΡΠ°ΠΊ ΠΈ ΡΠ΄Π΅ΒΠ»Π°Π΅ΠΌ:
ΠΠ½ΡΡΒΡΠΈ ΡΠΊΠΎΒΠ±ΠΎΡΠ΅ΠΊ Ρ input ΡΡ ΠΏΠΈΡΠ΅ΡΡ ΠΏΠΎΡΡΒΠ½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ·Π΅ΒΡΠ°, ΡΡΠΎ ΠΊΠΎΠ½ΒΠΊΡΠ΅ΡΒΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΒΡΡΡ Π²Π²Π΅ΡΒΡΠΈ. ΠΠΎ Π²ΠΎΡ Π±Π΅Π΄Π°, ΠΏΠΎ ΡΠΌΠΎΠ»ΒΡΠ°Π½ΠΈΡ Π²ΡΠ΅, ΡΡΠΎ Π²Π²ΠΎΒΠ΄ΠΈΡΒΡΡ ΡΠ΅ΡΠ΅Π· input, ΡΡΠΈΒΡΠ°Π΅ΡΒΡΡ Π½Π΅ ΡΠΈΡΒΠ»ΠΎΠΌ, Π° ΡΡΡΠΎΒΠΊΠΎΠΉ, ΠΏΠΎΡΡΠΎΒΠΌΡ, ΠΏΡΠ΅ΠΆΒΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΊΠ»Π°ΒΠ΄ΡΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΒΡΠ²ΠΎ Π»ΠΈΡΒΡΠΎΠ² ΠΏΠΈΠ²Π°, Π½ΡΠΆΒΠ½ΠΎ ΡΠ½Π°ΒΡΠ°Π»Π° ΠΏΡΠ΅ΒΠΎΠ±ΡΠ°ΒΠ·ΠΎΠ²Π°ΡΡ Π²Π²Π΅ΒΠ΄Π΅Π½ΒΠ½ΡΠ΅ ΡΡΡΠΎΒΠΊΠΈ Π² ΡΠΈΡΒΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΒΠΊΡΠΈΠΈ int().
ΠΠΎΒΠΎΠ±ΡΠ΅, ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΒΠ½ΡΡ ΠΌΠ½ΠΎΒΠ³ΠΎ, Π½ΠΎ ΡΡΡΡ ΡΡ ΡΠ»ΠΎΒΠ²ΠΈΠ» β ΡΡΠΎΒΠ±Ρ ΠΏΡΠΎΒΠΈΠ·Π²ΠΎΒΠ΄ΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΒΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊΠΈΠ΅βΡΠΎ Π΄Π΅ΠΉΒΡΡΠ²ΠΈΡ, Π½ΡΠΆΒΠ½ΠΎ ΠΈΡ ΡΠ½Π°ΒΡΠ°Π»Π° ΠΏΡΠΈΒΠ²Π΅ΡΒΡΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΒΠΌΡ ΡΠΈΠΏΡ β ΠΊ ΡΡΡΠΎΒΠΊΠΎΠ²ΠΎΒΠΌΡ, ΠΈΠ»ΠΈ ΠΊ ΡΠΈΡΒΠ»ΠΎΠ²ΠΎΠΌΡ, ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡβΠ½ΠΈΠ±ΡΠ΄Ρ. ΠΡΠ»ΠΈ Ρ ΡΡΠΈΠΌ Π½Π΅ Π·Π°ΠΌΠΎΡΠ°ΒΡΠΈΠ²Π°ΡΡΒΡΡ, Python ΡΠ»ΠΎΒΠΆΠΈΡ Π½Π΅ ΡΠΈΡΒΠ»Π°, Π° ΡΡΡΠΎΒΠΊΠΈ ΠΈ Π²Π²Π΅ΒΠ΄Π΅Π½ΒΠ½ΡΠ΅ 2 ΠΈ 3 Π»ΠΈΡΒΡΠ° ΠΏΠΈΠ²Π° Π² ΡΡΠΌΒΠΌΠ΅ Π΄Π°Π΄ΡΡ Π½Π΅ 5, Π° ΡΠ΅Π»ΡΡ 23. Π₯ΠΎΡΠΎΡΠΎ Π±Ρ ΡΠ°ΠΊ Π±ΡΠ»ΠΎ Π² ΡΠ΅Π°Π»ΡΒΠ½ΠΎΡΒΡΠΈ!
ΠΠΎΡ Π΅ΡΠ΅ ΠΏΡΠΈΒΠΌΠ΅ΡΒΡΠΈΠΊ, ΡΠ°ΡΒΡΡΠΈΒΡΡΠ²Π°ΒΡΡΠΈΠΉ, ΡΠΊΠΎΠ»ΡΒΠΊΠΎ ΡΠ΅Π±Π΅ Π΅ΡΠ΅ ΠΏΠΈΡΡ ΠΏΠΈΠ²ΠΎ, ΠΈΡΡ ΠΎΒΠ΄Ρ ΠΈΠ· ΡΡΠ΅Π΄ΒΠ½Π΅ΠΉ ΠΏΡΠΎΒΠ΄ΠΎΠ»ΒΠΆΠΈΡΠ΅Π»ΡΒΠ½ΠΎΡΒΡΠΈ ΠΆΠΈΠ·ΒΠ½ΠΈ Π² Π ΠΎΡΒΡΠΈΠΈ:
Π£ΡΠ»ΠΎΠ²ΠΈΡ
Π ΠΎΡΠ½ΠΎΒΠ²Π΅ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΡ Π»Π΅ΠΆΠ°Ρ ΡΡΠ»ΠΎΒΠ²ΠΈΡ. Π Π·Π°Π²ΠΈΡΠΈΒΠΌΠΎΡΒΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠΏΠΎΠ»ΒΠ½ΡΡΡΒΡΡ ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΡΡΒΡΡ, ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΒΡΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΒΠΌΡ ΠΈΠ»ΠΈ Π΄ΡΡΒΠ³ΠΎΠΌΡ ΠΏΡΡΠΈ. ΠΡΠ΅Π΄ΒΡΡΠ°Π²Ρ, ΡΡ Π΅Π΄Π΅ΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ ΡΠΌΠΎΡΒΡΠΈΡΡ Π½Π° ΡΠ°ΡΡ: Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ Π΄Π΅ΡΡΡΡ Π²Π΅ΡΠ΅ΡΠ°, ΡΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΒΡΠΈΠ²Π°ΒΠ΅ΡΡ Π΄ΠΎΠΌΠΎΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΌΠΎΠΆΒΠ½ΠΎ Π·Π°Π΅Ρ Π°ΡΡ Π² Π³ΠΎΡΒΡΠΈ. Π’ΠΎΡΒΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΒΠ΅Ρ ΠΈ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΠ°: ΠΏΡΠΎΒΠ²Π΅ΡΡΒΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅βΡΠΎ Π·Π½Π°ΒΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ²ΠΎΒΡΠ°ΡΠΈΒΠ²Π°Π΅Ρ ΡΡΠ΄Π° ΠΈΠ»ΠΈ ΡΡΠ΄Π° ΠΈ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΠ΅Ρ ΡΠΎΠΎΡΒΠ²Π΅ΡΡΒΡΠ²ΡΒΡΡΠΈΠΉ ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°.
ΠΠ»ΠΎΒΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Python ΠΎΡΠ΄Π΅ΒΠ»Π°ΡΡΒΡΡ ΠΎΡΡΡΡΒΠΏΠ°ΠΌΠΈ. ΠΡΡΡΡΠΏ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ, Π½Π°ΠΏΒΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΒΡΡΠ΅ ΠΏΡΠ΅Π΄ΒΠΏΠΎΡΠΈΡΠ°ΒΡΡ ΠΈΡΠΏΠΎΠ»ΡΒΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΒΡΠΎ ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΡΠΎΒΠ±Π΅Π»ΠΎΠ² ΠΊΠ»Π°ΒΠ²ΠΈΡΡ Tab. ΠΠ»Π°Π²ΒΠ½ΠΎΠ΅ β Π½Π΅ ΡΠΌΠ΅ΒΡΠΈΠ²Π°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΠ΅ ΠΎΡΡΡΡΒΠΏΡ ΡΠ°Π·ΒΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠ»ΠΈ ΡΠΆ Π½Π°ΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΒΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠΎΒΠ±Π΅Π»Π°, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΒΠ·ΡΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΒΡΠ°ΠΌΠΌΠ΅, Π° ΡΠΎ Python Π±ΡΠ΄Π΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΡΠ³Π°ΡΡΒΡΡ ΠΈ ΡΠ½ΠΈΒΠΆΠ°ΡΡ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΒΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π΄Π΅ΡΡ β ΡΡΠΎ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΒΡΠ²Π° Π² ΡΡΠ»ΠΎΒΠ²ΠΈΠΈ. ΠΠ½ ΠΏΠΈΡΠ΅ΡΒΡΡ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΒΠ½ΠΎΠ΅ Β«ΡΠ°Π²ΒΠ½ΠΎΒ» ( == ) ΠΈ ΡΡΠΈΠΌ ΠΎΡΠ»ΠΈΒΡΠ°Π΅ΡΒΡΡ ΠΎΡ ΠΏΡΠΈΡΒΠ²ΠΎΠ΅Π½ΠΈΡ β ΠΎΠ΄ΠΈΒΠ½Π°ΡΒΠ½ΠΎΠ³ΠΎ Β«ΡΠ°Π²ΒΠ½ΠΎΒ».
Π€ΡΠ½ΒΠΊΡΠΈΡ lower(), ΠΏΡΠ΅ΠΆΒΠ΄Π΅ ΡΠ΅ΠΌ ΡΡΠ°Π²ΒΠ½ΠΈΠ²Π°ΡΡ ΡΡΠ»ΠΎΒΠ²ΠΈΠ΅, Π΄Π΅Π»Π°ΒΠ΅Ρ Π²ΡΠ΅ Π±ΡΠΊΒΠ²Ρ Π² ΡΡΡΠΎΒΠΊΠ΅ ΠΌΠ°Π»Π΅Π½ΡΒΠΊΠΈΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π³Π»ΡΒΠΏΡΠΉ ΡΠ·Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΒΡΠΈ ΡΠ»ΠΎΒΠ²ΠΎ YES Ρ Π³ΠΎΡΡΡΠΈΠΌ Caps Lock, ΠΈ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΏΡΠ΅ΒΠ΄ΡΡΒΠΌΠΎΡΡΠ΅ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ lower( ) β Π½Π΅ ΠΏΡΠΎΡΒΡΠΎ ΡΡΠ½ΒΠΊΡΠΈΡ, Π° ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΒΡΠ° string (ΡΡΡΠΎΒΠΊΠ°). ΠΠΌΠ΅Π½ΒΠ½ΠΎ ΠΏΠΎΡΡΠΎΒΠΌΡ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°ΒΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΒΠΊΡ ΠΏΠΎΡΒΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΒΠ½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΒΠΆΠΈΡ ΡΡΡΠΎΒΠΊΡ. Π ΠΊΠ»Π°ΡΒΡΠ°Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΒΡΠΈΠΌ ΠΊΠ°ΠΊβΠ½ΠΈΠ±ΡΠ΄Ρ Π² Π΄ΡΡΒΠ³ΠΎΠΉ ΡΠ°Π·, Π° ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΒΡΠΎ Π·Π°ΠΏΠΎΠΌΒΠ½ΠΈ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΒΡΡΠ΅ ΡΡΠ½ΒΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°ΒΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°ΒΠ·ΠΎΠΌ.
Cython: Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 30-ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Python-ΠΊΠΎΠ΄Π°
Python β ΡΡΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΠ±ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. ΠΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΡΡ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python, ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΡΡ ΠΈ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ°Ρ ΠΎ Python ΡΠ°ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΆΠ°Π»ΠΎΠ±Ρ Π½Π° ΡΡΠΎΡ ΡΠ·ΡΠΊ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎ Python Π³ΠΎΠ²ΠΎΡΡΡ Π·Π½Π°ΡΠΎΠΊΠΈ ΡΠ·ΡΠΊΠ° C. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π·Π²ΡΡΠΈΡ: Β«Python β ΡΡΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΒ». Π ΡΠ΅, ΠΊΡΠΎ ΡΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ, Π½Π΅ Π³ΡΠ΅ΡΠ°Ρ ΠΏΡΠΎΡΠΈΠ² ΠΈΡΡΠΈΠ½Ρ.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python β ΡΡΠΎ, ΠΈ ΠΏΡΠ°Π²Π΄Π°, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ, Π² Ρ ΠΎΠ΄Π΅ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π’Π΅ΠΌ, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Numpy, Pandas ΠΈΠ»ΠΈ Scikit-Learn, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Rapids, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ GPU ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π°ΡΡΠ½ΡΡ ΡΠ°ΡΡΡΡΠΎΠ².
ΠΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΎΡΠΈ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ°Π΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»Π΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠΎ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π΄Π°ΡΡ Cython β ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Cython?
Cython, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ, ΡΡΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Python ΠΈ C/C++. Cython ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ Python-ΠΊΠΎΠ΄ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π² C-ΠΊΠΎΠ΄.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Python-ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π΅Ρ ΡΠΈΠΏΠ΅. ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Python ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠ°ΠΊ:
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Cython ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Ρ ΡΠΈΠΏ:
ΠΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Cython ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ. ΠΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π² C. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Python ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. Π―Π²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π² Cython β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Python-ΠΊΠΎΠ΄Π° Π² C-ΠΊΠΎΠ΄. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² C Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Cython ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°:
Π’ΠΈΠΏΡ Π² Cython
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Cython ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΄Π²Π° Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΏΠΎΠ². ΠΠ΄ΠΈΠ½ β Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²ΡΠΎΡΠΎΠΉ β Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΎ ΡΡΡ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ:
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ:
Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Cython
Π’Π΅ΠΏΠ΅ΡΡ Π‘-ΠΊΠΎΠ΄ Π³ΠΎΡΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ²Π΅ΡΡ Π±ΡΡΡΡΠΎΠ³ΠΎ C-ΠΊΠΎΠ΄Π°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ΄ ΡΡΠΎΡ ΡΡΡΡΠΎΠ΅Π½ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ Python-ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄Π΅Π»Π°Ρ ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Π²ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π±Ρ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Python-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Cython-Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π±ΡΡΡΡΠ΅ΠΉ Π΅Ρ Python-Π²Π΅ΡΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ . Π§Π΅ΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π½Π΅Π΅ Π·Π°Π΄Π°ΡΠ° β ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Cython.
Π§ΠΈΡΠ»ΠΎ | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Python Time | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Cython Time | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Speedup |
10 | 1.6689300537109375e-06 | 4.76837158203125e-07 | 3.5 |
100 | 3.337860107421875e-06 | 4.76837158203125e-07 | 7.0 |
1000 | 2.193450927734375e-05 | 9.5367431640625e-07 | 23.0 |
10000 | 0.0002090930938720703 | 6.4373016357421875e-06 | 32.481 |
100000 | 0.0021562576293945312 | 6.008148193359375e-05 | 35.89 |
1000000 | 0.02128767967224121 | 0.0005953311920166016 | 35.75 |
10000000 | 0.2148280143737793 | 0.00594782829284668 | 36.1187317112278 |
ΠΡΠΎΠ³ΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Cython ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python, Π½Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΊ ΡΡΠΎΠΌΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ β ΡΠ΅ΠΌ Π»ΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Cython.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Cython Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ?