ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ. Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ β ΠΊΠ»ΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°ΡΡ ΠΎΠ΄ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΠ»
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΠ» β ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ:
- ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±Π΅ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ· ΠΏΡΠ»Π°.
- ΠΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠ»Π΅ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
- ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ», Π° Π½Π΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ:
- Π‘Π½ΠΈΠ·ΠΈΡΡ Π·Π°ΡΡΠ°ΡΡ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
- Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°.
- ΠΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Ρ Π·Π°ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ»Π°:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π‘Π»Π°Π±ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
Π Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π½ΠΈΡ Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΡΡΠ»ΠΎΠΊ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ ΠΌΠ΅ΡΠ°Ρ Π΅Π³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. Π‘Π»Π°Π±ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π±Π΅Π· ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ, ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ β ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ:
- ΠΠ»Ρ ΠΊΡΡΠ΅ΠΉ β ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ»ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.
- ΠΠ»Ρ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ β Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ A ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° B, Π° B Π½Π° A, ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡ Π½Π΅ ΡΠ΄Π°Π»ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π°Π±ΡΡ ΡΡΡΠ»ΠΎΠΊ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π‘ΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
π ΠΠΎΠΌΠ½ΠΈΡΡ Π²ΡΡ. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ Π² Python
Π‘Π»ΠΎΡΡ
Π Python ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ __dict__ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠ»ΠΈ ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π±ΡΠ΄ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ __slots__, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² RegularClass Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ ΡΠ°Π½ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, Π½ΠΎ Π·Π°ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π° SlottedClass Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ°ΠΌΡΡΡ
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ. Π Π΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΡ β ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ», ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ. Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ mmap, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ Π±Π°ΠΉΡΠΎΠ²ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ:
ΠΠΎΠ΄ΡΠ»Ρ mmap ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½:
- ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ.
- ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΡΠ°ΠΉΠ»Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ).
- ΠΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΌ ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Π° β mmap ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π’ΠΎΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π²Π°ΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΡΡΠΎΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ. ΠΠ΅ΡΠΎΠ΄ sys.getsizeof() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΏΠΈΡΠΊΠ° sys.getsizeof(my_list) ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π½ΠΎ Π½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²Π½ΡΡΡΠΈ. ΠΠ»Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, memory_profiler. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ, Π²ΡΡΠ²Π»ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΠΎΠ΄Π΅:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»
ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠΎΠ±Π΅ΡΠ°
ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠΎΠ±Π΅ΡΠ°Β»
ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ
ΠΠ±ΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π·Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ:
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈ yield ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ:
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Π»ΠΎΠ³ΠΎΠ², CSV, JSON).
- Π Π°Π±ΠΎΡΠ΅ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π²Π΅Π±-ΡΠΊΡΠ°ΠΏΠΈΠ½Π³, ΡΠ°Π±ΠΎΡΠ° Ρ API).
- ΠΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΡΠ΄Ρ ΡΠΈΡΠ΅Π»).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ list ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° Π½Π΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ DiskBackedList β ΡΡΠΎ Π³ΠΈΠ±ΡΠΈΠ΄ ΡΠΏΠΈΡΠΊΠ° ΠΈ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ:
- Π₯ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ self.memory_list.
- ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ max_memory_items, ΠΎΠ½ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡ Π² ΡΠ°ΠΉΠ».
- ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ ΠΈΡ Ρ Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ NumPy
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌ ΠΈ Π΄Π°ΡΠ°-ΡΠ°ΠΉΠ΅Π½ΡΠΈΡΡΠ°ΠΌ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠΌΠΈ ΡΠΎΠ»ΠΈΠ΄Π½ΡΡ ΡΠ°ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ np.memmap: ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ (Π° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ:
ΠΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΊΡΡ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
Π Π΄ΠΎΠ»Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΊΡΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ Π΄Π°Π½Π½ΡΡ . Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ TimedCache:
- Π₯ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ.
- ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
- Π£Π΄Π°Π»ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ with ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΈΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² pandas
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΡΠΎΡΡΠΎΡΡΠΈΠΌΠΈ ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ, Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ. Pandas ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠΈΡΠΌΠΈ (ΡΠ°Π½ΠΊΠ°ΠΌΠΈ), ΡΡΠΎΠ±Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΠ°ΠΌΡΡΡ:
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² Π΄Π΅ΡΡΡΠΊΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ:
- ΠΠ°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ Π·Π° ΡΠ°Π·.
- ΠΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
- ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ β ΡΡΠΎ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ. ΠΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ².
***
ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΡΡΠ°ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ 6 Powerful Python Techniques for Efficient Memory Management.