π₯ΠΠ°ΠΊ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠΈΡΠΎΠ½Π΅: 7 ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Ρ Π»ΡΡΡΠ΅ΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ
ΠΡΠ±ΠΎΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ·ΡΡΠ°ΠΉΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ.
2. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΡΠΈΠΊΠ»Π°Ρ
ΠΡΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΈΠΊΠ»Π°.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ
Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄
Python Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Cython, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
5. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π° ΠΎΠ΄Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
6. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΠΉΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python
Python - ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΈ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Python, ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡΠ±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΡΠΏΠΈΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ.
2. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠΈΠΊΠ»Ρ
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ - ΡΡΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ. ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ² Π²Π°ΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π²Π½Π΅ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΈΠΊΠ»Π° ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ map() ΠΈ filter(), Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΠΏΠΈΡΠΊΠ° Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
# ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ map()
numbers = [1, 2, 3, 4, 5]
# ΠΠ±ΡΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
squared_numbers = []
for number in numbers:
squared_numbers.append(number ** 2)
# ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ map()
squared_numbers = list(map(lambda x: x ** 2, numbers))
3. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ - ΡΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΡ Π²ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ yield. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
# ΠΡΠΈΠΌΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10
def generate_numbers():
for i in range(1, 11):
yield i
# ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
numbers = generate_numbers()
for number in numbers:
print(number)
4. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°Π·Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠ°Ρ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ threading Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π³ΠΎΠ½ΠΎΠΊ Π΄Π°Π½Π½ΡΡ (race conditions).
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ
import threading
def square_number(number):
result = number ** 2
print(f"ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΡΠ»Π° {number} ΡΠ°Π²Π΅Π½ {result}")
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ²
threads = []
numbers = [1, 2, 3, 4, 5]
for number in numbers:
thread = threading.Thread(target=square_number, args=(number,))
threads.append(thread)
thread.start()
# ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²
for thread in threads:
thread.join()
5. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
Just-In-Time (JIT) ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΡΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ PyPy ΠΈ Numba, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
PyPy - ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ .
Numba - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Python Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ - Π²ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!