IPython
IPythonβββΡΡΠΎ ΡΠ΄ΡΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡΠΎΠ² Jupyter.
IPythonβββΡΡΠΎ ΡΠ΄ΡΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡΠΎΠ² Jupyter.
Jupyter Notebook
βββΡΡΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Ρ ΠΆΠΈΠ²ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ.Homeassistant
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
Home Assistant
! ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° ΠΈΡ
ΡΠ°ΠΉΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΠΎ ΡΠ°ΠΌΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ Raspberry Pi
. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ. Π― ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Home Assistant
Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅ΡβββΠ²Π½ΡΡΡΠΈ Docker
-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.Beautiful soup
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΡΠ΅ HTML Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠ°ΠΉΡΠ°, ΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π·Π±ΠΎΡ ΠΈ ΠΎΡΡΠ΅ΠΊΠ°Π΅ΡΠ΅ Π²ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ΅.
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΡΠ΅ HTML Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠ°ΠΉΡΠ°, ΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π·Π±ΠΎΡ ΠΈ ΠΎΡΡΠ΅ΠΊΠ°Π΅ΡΠ΅ Π²ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ΅.
Beautiful Soup
βββΡΡΠΎ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎ ΡΠ±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· HTML ΠΈ XML-ΡΠ°ΠΉΠ»ΠΎΠ². Π Π½Π΅ΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π΅ΡΠ΅Π²Π° ΡΠ°Π·Π±ΠΎΡΠ°, ΠΈΠ»ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ HTML, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ»ΠΎΠΌΠ°Π½. Π£ΠΆ ΠΏΠΎΠ²Π΅ΡΡΡΠ΅ ΠΌΠΎΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, HTML Π»ΠΎΠΌΠ°Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ ΠΊΡΡΠ°ΡΠΈ.ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ° Π² ΡΡΡΠΎΠΊΡ
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ Π² Π΅Π΄ΠΈΠ½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ Π² Π΅Π΄ΠΈΠ½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΠ΅ΡΠ°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ print Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ print, ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΏΠ΅ΡΠ°ΡΡ Π² Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ²ΠΎΠ΄ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ.
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ print Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ print, ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΏΠ΅ΡΠ°ΡΡ Π² Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ²ΠΎΠ΄ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ.
NotImplemented
Π₯ΠΎΡΡ ΠΎΡΠΈΠ±ΠΊΠ° NotImplemented ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ , Ρ ΡΡΠΈΡΠ°Ρ Π²Π°ΠΆΠ½ΡΠΌ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π½Π΅ΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π·. ΠΡΠ±ΡΠΎΡ NotImplemented Π² Python Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠ±ΡΠΎΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ NotImplemented, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ TypeError.
Π₯ΠΎΡΡ ΠΎΡΠΈΠ±ΠΊΠ° NotImplemented ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ , Ρ ΡΡΠΈΡΠ°Ρ Π²Π°ΠΆΠ½ΡΠΌ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π½Π΅ΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π·. ΠΡΠ±ΡΠΎΡ NotImplemented Π² Python Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠ±ΡΠΎΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ NotImplemented, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ TypeError.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅!
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π»ΡΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π»ΡΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Python Π·Π°Π΄Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΡΠΎ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Python Π·Π°Π΄Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΡΠΎ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ (Assignment expressions)
Python 3.8
Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ Β«ΠΌΠΎΡΠΆΠΎΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΒ» (walrus operator) β Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΈΠ· Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π²Π΅ΡΡΠΈΠΈ 3.8.
Π¦Π΅Π»ΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ (ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ) ΡΡΠΎΠΈΡ Π½Π΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠΌΠ΅ΡΡΠ½ΠΎ.
Python 3.8
Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ Β«ΠΌΠΎΡΠΆΠΎΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΒ» (walrus operator) β Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΈΠ· Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π²Π΅ΡΡΠΈΠΈ 3.8.
Π¦Π΅Π»ΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ (ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ) ΡΡΠΎΠΈΡ Π½Π΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠΌΠ΅ΡΡΠ½ΠΎ.
4 ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python. ΠΠ°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΠ»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ
ΠΠ»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ
min()
ΠΈ max()
. ΠΡΠΈΠ½ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°Π΄Π°Π²Π°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ key
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΠΊΠΎΠΌΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΡΡΠΎ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ sorted()
.4 ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ»ΠΎΠ²Π°ΡΡ
dict
, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ defaultdict
. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠΌ ΡΠΈΠΏΠ° dict
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ collections
. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ defaultdict
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ defaultdict([
default_factory[,
...]])
. default_factory
Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ Π΅ΡΠ΅ Π½Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.4 ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° (Π½Π΅ ΡΠ°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±)
ΠΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ
ΠΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ
map()
ΠΈ filter()
. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π²ΡΡ Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΠΈΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°.ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Logzero. ΠΠ°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΎΠ² Π² ΡΠ°ΠΉΠ»
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Python ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ Π² ΡΠ°ΠΉΠ». ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π»ΠΎΠ³-Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² legzero.
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³Π³Π΅Ρ ΠΈ Π»ΠΎΠ³-ΡΠ°ΠΉΠ» ΠΈΠ· logezero. ΠΠ΅ΡΠΎΠ΄ logfile ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² Π»ΠΎΠ³Π΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Python ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ Π² ΡΠ°ΠΉΠ». ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π»ΠΎΠ³-Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² legzero.
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³Π³Π΅Ρ ΠΈ Π»ΠΎΠ³-ΡΠ°ΠΉΠ» ΠΈΠ· logezero. ΠΠ΅ΡΠΎΠ΄ logfile ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² Π»ΠΎΠ³Π΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Logzero. ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³Π³Π΅Ρ ΠΈΠ· logzero Π² ΡΠ°ΠΉΠ» python ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ 4 ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎΠ²Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠ²Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³Π³Π΅Ρ ΠΈΠ· logzero Π² ΡΠ°ΠΉΠ» python ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ 4 ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎΠ²Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠ²Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Logzero. Π ΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π°
ΠΠ΅ ΡΡΠΎΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ Π»ΠΎΠ³-ΡΠ°ΠΉΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ maxBytes ΠΈ backupCount Π΄Π»Ρ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Ρ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½, ΡΠ°ΠΉΠ» Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ, Π° Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠΈ maxBytes. ΠΡΠ»ΠΈ maxBytes ΠΈΠ»ΠΈ backupCount ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠ΅ ΡΡΠΎΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ Π»ΠΎΠ³-ΡΠ°ΠΉΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ maxBytes ΠΈ backupCount Π΄Π»Ρ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Ρ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½, ΡΠ°ΠΉΠ» Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ, Π° Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠΈ maxBytes. ΠΡΠ»ΠΈ maxBytes ΠΈΠ»ΠΈ backupCount ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° in
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ in ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΊΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½Ρ 'apple' ΠΈ 'grape'.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ in ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΊΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½Ρ 'apple' ΠΈ 'grape'.
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Logzero. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π»ΠΎΠ³Π³Π΅ΡΠΎΠ²
ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³Π³Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π»ΠΎΠ³Π³Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ logzero.setup_logger(..). ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π»ΠΎΠ³Π³Π΅ΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΡ, ΠΈΠΌΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π°, ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, maxBytes, backupCount ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³Π³Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π»ΠΎΠ³Π³Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ logzero.setup_logger(..). ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π»ΠΎΠ³Π³Π΅ΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΡ, ΠΈΠΌΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π°, ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, maxBytes, backupCount ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.