PEP8, ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Python, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΆΠΈΠ²ΠΎΠΌΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΌΡ, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΒ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈΒ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ PEP. PEPΒ β Python Enhancement Proposal, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΒ ΡΠ°Π·Π²ΠΈΡΠΈΡ Python. ΠΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° Python. Π‘Π°ΠΌΡΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ PEP ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΡΡΠΌΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ. PEP8 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ ΠΈΒ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°Β ΡΠ·ΡΠΊΠ΅ Python.
ΠΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π° Π³Π»Π°Π²Ρ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΒ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ·Β 19 ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ Python (Zen of Python). ΠΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Β«ΠΏΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡΒ» ΡΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π» Π²Β Π²ΠΈΠ΄Ρ Π°Π²ΡΠΎΡ. Π’Π°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠ΅ΡΡΡ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΠΎΠΉ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΡΡΠΈΡ ΠΏΠΎΡΡΡΠ»Π°ΡΠΎΠ², ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π’ΠΈΠΌΠ° ΠΠ΅ΡΠ΅ΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ² Π²ΠΎΡ ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
import this
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ PEP8?
(Π§ΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅)
PEP8 ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ βΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡβ ΠΊΠΎΠ΄Π°. ΠΠΎΒ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΡ? ΠΠΎΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°Β β ΠΎΠ΄ΠΈΠ½ ΠΈΠ·Β ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ·ΡΠΊΠ° Python?
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ Python, ΠΠ²ΠΈΠ΄ΠΎ ΠΠ°Π½ Π ΠΎΡΡΡΠΌ: Β«ΠΠΎΠ΄ ΡΠΈΡΠ°Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΈΡΠ΅ΡΡΡΒ». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ, ΠΈΠ»ΠΈ Π²Π΅ΡΡ Π΄Π΅Π½Ρ, Π²Β ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Π΄Π»Ρ, ΠΊΒ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΠΈΡΠ°Π² Π΅Π³ΠΎ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, Π²Ρ Π½Π΅Β Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π΅ΡΠ΅ ΡΠ°Π·. ΠΠΎΒ Π²Ρ ΡΠΎΡΠ½ΠΎ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π΅ΡΠ΅ ΠΈΒ Π΅ΡΠ΅ ΡΠ°Π·. ΠΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊΒ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ ΠΈΒ ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Python, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΆΠ΅Π»ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΒ ΠΏΡΠΎΡΠ΅ΡΡΠ²ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π΄Π½Π΅ΠΉ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ PEP8, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²Β ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², Π²Β ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΒ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°.
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ PEP8 ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π²Β ΠΏΠΎΠΈΡΠΊΠ°Ρ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π§ΠΈΡΡΡΠΉ ΠΈΒ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΌ. ΠΠ½ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ ΠΎΒ Π²Π°ΡΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠ»ΠΈΒ ΠΆΠ΅ Π²Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΡΠΎΠ³Π΄Π° ΡΒ ΠΏΠΎΠΌΠΎΡΠΈ PEP8 ΠΌΠΎΠΆΠ½ΠΎ ΡΒ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΡΒ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. Π₯ΠΎΡΠΎΡΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π²Β Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΎΠ±ΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ. ΠΡΠ΄ΠΈ, ΡΠ°Π½Π΅Π΅ Π½Π΅Β Π²ΠΈΠ΄Π΅Π²ΡΠΈΠ΅ Π²Π°Ρ, Π½ΠΎΒ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ ΡΒ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π±ΡΠ΄ΡΡ ΡΠΈΡΠ°ΡΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΈΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π΄ΠΎΠ½Π΅ΡΡΠΈ.
ΠΠ΅Π³Π»Π°ΡΠ½Π°Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ ΠΎΠ±Β ΠΈΠΌΠ΅Π½Π°Ρ
(Π―Π²Π½ΠΎΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½Π΅ΡΠ²Π½ΠΎΠ΅)
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Python ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π²Π΅ΡΠ°ΠΌ: ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ ΠΈΒ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠ±ΠΎΡ ΡΠ°Π·ΡΠΌΠ½ΡΡ
ΠΈΠΌΠ΅Π½ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²Π°ΠΌ Π²ΡΠ΅ΠΌΡ ΠΈΒ ΡΠΈΠ»Ρ Π²Β ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ. ΠΠΎΒ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠΌΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π±Π΅ΠΆΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΒ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΏΠ»ΠΎΡ
ΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΠΈΠΌΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ l, O, ΠΈΠ»ΠΈ I Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΠΊΠΈΡ βΠ»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½ ΠΈΠ·βΠ·Π°Β ΡΠΈΡΠΊΠ° ΡΠΏΡΡΠ°ΡΡ ΠΈΡ ΡΒ 1 ΠΈΒ 0, Π²Β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡΒ ΡΡΠΈΡΡΠ°.
O = 2 # ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠ°Π²Π½ΡΡΡ 2 ΠΊ Π½ΡΠ»Ρ.
Π‘ΡΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ
ΠΒ ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·Β ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²Β ΠΊΠΎΠ΄Π΅ Python ΠΈΒ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
Π’ΠΈΠΏ | Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Β ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ | ΠΡΠΈΠΌΠ΅ΡΡ |
---|---|---|
Π€ΡΠ½ΠΊΡΠΈΠΈ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π° Π²Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. | function, my_function |
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠ½ΡΡ Π±ΡΠΊΠ²Ρ, ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. | x, var, my_variable |
ΠΠ»Π°ΡΡΡ | ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ ΡΒ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ. ΠΠ΅Β ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΡ ΡΡΠΈΠ»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π΄Π΅Π»ΠΎ Π²Π΅ΡΠ±Π»ΡΠ΄Π°Β». | Model, MyClass |
ΠΠ΅ΡΠΎΠ΄Ρ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π° Π²Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅.![]() | class_method, method |
ΠΠΎΠ½ΡΡΠ°Π½ΡΡ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ΄Π½Ρ Π·Π°Π³Π»Π°Π²Π½ΡΡ Π±ΡΠΊΠ²Ρ, ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. | CONSTANT, MY_CONSTANT, MY_LONG_CONSTANT |
ΠΠΎΠ΄ΡΠ»ΠΈ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π° Π²Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. | module.py, my_module.py |
ΠΠ°ΠΊΠ΅ΡΡ | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π° Π²Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. ΠΠ΅Β ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. | package, mypackage |
ΠΠΎΠΌΠΈΠΌΠΎ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ
ΠΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΒ Ρ.Β Π΄. ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ. ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°Π·Π²Π°ΡΡ Π²Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Β PythonΒ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΒ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΎΠ±Π»Π°Π·Π½ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ·Β ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ ΠΈΠΌΠ΅Π½Π° Π²Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ x. ΠΠΎΒ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ x Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠΎΡ ΡΠ°ΠΌΡΠΉ x. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π²Β Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈΒ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π· ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎβΠ΄ΡΡΠ³ΠΎΠΌΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎβΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
# ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ x = 'ΠΠ²Π°Π½ ΠΠ΅ΡΡΠΎΠ²' y, z = x.split()
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎΒ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ x, y ΠΈΒ z. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡ ΡΒ ΡΠΎΠ»ΠΊΡ ΡΠΎΠ°Π²ΡΠΎΡΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ:
# Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ name = 'ΠΠ²Π°Π½ ΠΠ΅ΡΡΠΎΠ²' first_name, last_name = name.split()
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΒ ΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π±ΠΈΡΠ°Π΅ΠΌΡΡ
Π²Π°ΠΌΠΈ Π±ΡΠΊΠ², ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΎΠ±Π»Π°Π·Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΈΠΌΠ΅Π½. ΠΒ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
# ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ def db(x): return x * 2
ΠΠ°Β ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌΒ β ΡΡΠΎ Π²Π΅Π΄Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ double! ΠΠΎΒ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ ΠΊΒ ΡΡΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΌΡΡΠ» Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π»ΠΈ Π²Β ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΒ database.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ΅Π½:
# Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ def multiply_by_two(x): return x * 2
Π’Π°Β ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈΒ ΠΊΠΎΒ Π²ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠΌ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈΒ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Β Python. ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΅ΠΌΠΊΠΈΠ΅ ΠΈΒ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ.
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
(ΠΡΠ°ΡΠΈΠ²ΠΎΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅)
Π’ΠΎ, ΠΊΠ°ΠΊ ΠΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π²Π°Ρ ΠΊΠΎΠ΄, ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΡΠΎΠ»Ρ Π²Β ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ.
ΠΒ ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π΅Π½ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΒ ΠΆΠ΅, ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊ Π²Β ΠΊΠΎΠ΄Π΅ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ»ΠΈΡΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
ΠΠΊΡΡΠΆΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΒ ΠΊΠ»Π°ΡΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π²ΡΠΌΡ ΠΏΡΡΡΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈΒ ΠΊΠ»Π°ΡΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½Ρ ΠΈΒ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΠΎΠΊΡΡΠ³ Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ:
class MyFirstClass: pass class MySecondClass: pass def top_level_function(): return None
ΠΠ±ΠΎΡΠΎΠ±ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ ΡΒ Π΄ΡΡΠ³ΠΎΠΌ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ:
class MyClass: def first_method(self): return None def second_method(self): return None
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π³ΠΈ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ return. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΠΎΠ½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ°Π³ΠΎΠΌ.
ΠΒ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΎ Π΄Π²ΡΡ ΡΡΠ°ΠΏΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³, ΠΎΡΡΠ°Π²ΠΈΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΡΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
def calculate_variance(number_list): sum_list = 0 for number in number_list: sum_list = sum_list + number mean = sum_list / len(number_list) sum_squares = 0 for number in number_list: sum_squares = sum_squares + number**2 mean_squares = sum_squares / len(number_list) return mean_squares - mean**2
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΒ ΠΏΠΎΠΌΠΎΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΈΒ ΡΠ°Π·ΡΡΠ² ΡΡΡΠΎΠΊΠΈ
PEP8 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ 79 ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. ΠΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ΄ΠΎΠΌ Π΄ΡΡΠ³ ΡΒ Π΄ΡΡΠ³ΠΎΠΌ, Π°Β ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΡΡΠΎΠΊ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅Β Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄Π»ΠΈΠ½Ρ Π²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄ΠΎΒ 79 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². PEP8 ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ. Python ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π²Β ΠΊΡΡΠ³Π»ΡΠ΅, ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ:
def function(arg_one, arg_two, arg_three, arg_four): return arg_one
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΡΠ²Π° ΡΡΡΠΎΠΊΠΈ:
from mypkg import example1, \ example2, example3
ΠΠ°ΠΆΠ½ΠΎ: Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΡΠ² ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π²ΠΎΠΊΡΡΠ³ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
ΠΡΡΡΡΠΏΡ
(ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ)
ΠΡΡΡΡΠΏΡ ΠΈΠ»ΠΈΒ ΠΆΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ Π²Β Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈΒ β ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π²Β ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Python. ΠΠ°ΠΊ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄ΡΡΠ³ ΡΒ Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π²Β Python ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ²Π½ΠΈ ΡΡΡΠΎΠΊ.
x = 2 if x > 6: print('x Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ 6')
ΠΡΡΡΡΠΏ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» Python ΠΎΠ±Β ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Β ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True. Π ΠΎΠ²Π½ΠΎ ΡΠ°ΠΊΠΎΠΉΒ ΠΆΠ΅ ΠΎΡΡΡΡΠΏ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Python, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΒ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΡΡΡΡΠΏΠΎΠ² Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° ΠΈΒ ΠΎΠ½ΠΈ Π½ΠΈΠΆΠ΅:ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»Π° Π΄Π»Ρ ΠΎΡΡΡΡΠΏΠ°;
ΠΡΠ΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌ, Π°Β Π½Π΅Β ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ.
ΠΡΠΎΠ±Π΅Π»Ρ ΠΏΡΠΎΡΠΈΠ² Π’Π°Π±ΡΠ»ΡΡΠΈΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° Π½Π°Β Π²ΡΡΠ°Π²ΠΊΡ ΡΠ΅ΡΡΡΠ΅Ρ
ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Tab. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ Π²Β Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²Β Python 3 Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΒ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΡΡΡΠΏΡ ΠΈΒ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°. ΠΠ½Π°ΡΠ΅, Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
(ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ Π±ΡΠ»Π° ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²Β ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π²Β ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π½. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΒ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π²Β Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠΎΡ ΡΡΠΈ Π²Π°ΠΆΠ½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊΒ ΠΊΠΎΠ΄Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΏΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π΅Β Π±ΠΎΠ»Π΅Π΅ 72 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²;
ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΒ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ;
ΠΠ΅Β Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
name = 'John Smith' # Student Name
ΠΡΠΎΠ±Π΅Π»Ρ Π²Β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΈΒ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡΡ
(Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡΠ½ΠΎΠ΅)
ΠΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π²Β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
ΠΈΒ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
ΡΡΡΠ΄Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΡΠ΅Π½ΠΈΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π², Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅, Π±Π»ΠΎΠΊΠΈ.
ΠΠΊΡΡΠΆΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ ΡΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ( =, +=, -= ΠΈΒ Ρ.Β ΠΏ.)
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΡ ( ==, !=, >, <. >=, <= ) ΠΈΒ (is, is not, in, not in)
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ (and, or, not)
ΠΠΎΠ³Π΄Π° = ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Β ΠΎΠΊΡΡΠΆΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
(ΠΡΠΎΡΡΠΎΠ΅ Π»ΡΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ)
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²Β Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΒ ΡΠΎΠ³ΠΎΒ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²Π»ΡΡΡΡΡ ΠΎΡΒ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
# ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ my_bool = 4 > 3 if my_bool == True: return '4 Π±ΠΎΠ»ΡΡΠ΅ 3'
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ Π·Π΄Π΅ΡΡ Π½Π΅Β ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, my_bool ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, True ΠΈΠ»ΠΈ False. ΠΠΎΡΡΠΎΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
# Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ if my_bool: return '4 is bigger than 3'
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if ΡΒ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ ΠΈΒ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ PEP8 ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ.
ΠΠΎΠ³Π΄Π° Π»ΡΡΡΠ΅ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ PEP8
ΠΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π°Β ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π±Π΅Π·ΡΠΊΠΎΡΠΈΠ·Π½Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½ΠΈΡ PEP8, ΠΌΠΎΠΆΠ½ΠΎ ΡΒ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Β«ΡΠΈΡΡΠΎΡΡΒ», Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈΒ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π§ΡΠΎ ΠΏΡΠΈΠ½Π΅ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·Ρ Π²ΡΠ΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΌ ΡΒ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΡΒ ΠΊΠΎΠ»Π»Π΅Π³ Π΄ΠΎΒ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠΎΒ Π²ΡΠ΅Β ΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ PEP8 Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π²Β ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ :
ΠΡΠ»ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ PEP8 Π½Π°ΡΡΡΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΒ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ;
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄, ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΎΠΌΡ, Π½Π°Π΄ ΡΠ΅ΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΡΒ PEP8;
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΒ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Python.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°ΡΡ ΠΏΠΎΠ½ΡΡΠ½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ, ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python, ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ PEP8. Π₯ΠΎΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΡΠΌΠΎΠΉ Π΄Π»Ρ ΠΌΠΎΠ·Π³Π° ΡΠ²ΠΎΡΡΠ°, ΠΈΡ
ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Β«ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡΒ» Π²Π°Ρ ΠΊΠΎΠ΄, Π²Β ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΎΒ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π½ΠΈΠΌ ΡΒ ΡΠΎΠ°Π²ΡΠΎΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈΒ ΠΆΠ΅ ΡΒ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π²Β ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ PEP8, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΒ ΠΏΠΎΠ»Π½ΠΎΠΉ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ pep8.org, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΒ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π²Β Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΒ ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅, Π½Π΅Β ΠΏΠΎΠΏΠ°Π²ΡΠΈΠ΅ Π²Β ΡΡΡ Β«Π²ΡΠΆΠΈΠΌΠΊΡΒ», ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ.
Π΄Π°Π»ΡΡΠ΅
ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ
PEP 8, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΡΠΉ PEP8 ΠΈΠ»ΠΈ PEP-8, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Python. ΠΠ½ Π±ΡΠ» ΡΠΎΡΡΠ°Π²Π»Π΅Π½ Π² 2001 Π³ΠΎΠ΄Ρ ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ, ΠΠ°ΡΡΠΈ ΠΠ°ΡΡΠ°Π²ΠΎΠΉ ΠΈ ΠΠΈΠΊΠΎΠΌ ΠΠΎΠ³Π»Π°Π½ΠΎΠΌ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ PEP 8 β ΡΠ»ΡΡΡΠΈΡΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° Π½Π° Python.
PEP ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Python Enhancement Proposal (Β«ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ PythonΒ»), ΠΈ ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ. PEP β ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ Π΄Π»Ρ Python, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ·ΡΠΊΠ°, ΠΊΠ°ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΡΠΈΠ»Ρ.
Π ΡΠΈΠΊΠ»Π΅ ΠΈΠ· ΡΡΠ΅Ρ
ΡΡΠ°ΡΠ΅ΠΉ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² PEP 8. ΠΡΠΈ ΡΡΠ°ΡΡΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΡ
ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΠΏΠΎΠ»Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ PEP 8Β .
- ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ Python-ΠΊΠΎΠ΄, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ PEP8;
- ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠ²ΠΎΠ΄Ρ Π»Π΅ΠΆΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² PEP8;
- ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Python ΠΏΠΎ PEP8.
βΠ§ΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅β, βΒ ΠΠ·Π΅Π½ Python
PEP 8 ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Python. ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ Π²Π°ΠΆΠ½Π° ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ? ΠΠΎΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ·ΡΠΊΠ° Python?
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌ: Β«ΠΠΎΠ΄ ΡΠΈΡΠ°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΈΡΡΡΒ». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΉ Π΄Π΅Π½Ρ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ Π΅Π³ΠΎ ΠΏΠΈΡΠ°ΡΡ. ΠΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π²Ρ ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅ΡΠ΅. ΠΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²Ρ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Python, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ PEP 8, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π»ΠΈ ΡΠ²ΠΎΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅Β . ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΡΠΎΠ±ΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ½Π°Π±Π΄ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΡΠ΅ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ, Π° Π·Π½Π°ΡΠΈΡ, ΠΊ Π½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ PEP 8 Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Python Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ PEP 8 ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅ΡΠ΅ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ³ΠΎ, ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΌΠ΅. ΠΡΠΎ ΡΠΊΠ°ΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
Π Π°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, Π²Π°ΠΌ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ. ΠΠ΄Π΅ΡΡ, ΠΎΠΏΡΡΡ ΠΆΠ΅, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈ Π²Π°Ρ ΠΈ Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²Π°Ρ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠΈΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΠΎΠ±Π»Π΅Π³ΡΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
[python_ad_block]
ΠΠΎΠ³Π΄Π° ΡΡΠΎΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ PEP 8
ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ β Π½ΠΈΠΊΠΎΠ³Π΄Π°. ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ PEP 8, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΡΡΠΉ, ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΏΡΠΈΠ½Π΅ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·Ρ Π²Π°ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π² PEP 8 Π½Π΅ΡΠ΄ΠΎΠ±Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ :
- ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ PEP 8 Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ
- ΠΊΠΎΠ΄, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ΅ΠΌ, Π½Π°Π΄ ΡΠ΅ΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ PEP 8
- ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Python
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ΄Π° PEP 8
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ PEP 8, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΡΠΎΡΡΠΎ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡ
ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΡ PEP 8. Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΡΠΊΠΎΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ PEP 8: Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΈ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΡΠ΅ΡΡ.
ΠΠΈΠ½ΡΠ΅ΡΡΠΠΈΠ½ΡΠ΅ΡΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΊΠΎΠ΄, ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ½ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΡΠ²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΡ ΠΏΠ°ΡΠ° Π»ΡΡΡΠΈΡ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ΄Π° Π½Π° Python:
pycodestyleΠΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΈΠ»Π΅Π²ΡΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ Π² PEP8.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ pycodestyle Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip:
$ pip install pycodestyle
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ pycodestyle ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ pycodestyle code.py
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
code.py:1:17: E231 missing whitespace after ',' code.py:2:21: E231 missing whitespace after ',' code.py:6:19: E711 comparison to None should be 'if cond is None:'flake8
ΠΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, pyflakes ΠΈΒ pycodestyle.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ flake8Β Ρ ΠΏΠΎΠΌΠΎΡΡΡΒ pip:
$ pip install flake8
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ flake8 ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ flake8 code.py
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
code.py:1:17: E231 missing whitespace after ',' code.py:2:21: E231 missing whitespace after ',' code.py:3:17: E999 SyntaxError: invalid syntax code.py:6:19: E711 comparison to None should be 'if cond is None:'
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Atom,Β Sublime Text,Β Visual Studio Code ΠΈΒ VIM.
ΠΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ Pythonist. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΡΠ°ΡΡΡ Β«ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Python: ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² ΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΒ».
ΠΠ²ΡΠΎΡΠΎΡΠΌΠ°ΡΡΠ΅ΡΡΠΠ²ΡΠΎΡΠΎΡΠΌΠ°ΡΡΠ΅ΡΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ PEP 8. ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β black
. ΠΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ» PEP 8. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΠΎΠ½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎ 88 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π° Π½Π΅ Π΄ΠΎ 79, ΠΊΠ°ΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π°Π³ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ black Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Python 3.6+:
$ pip install black
ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π»ΠΈΠ½ΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π½Π°ΡΠ°Π»ΠΈ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ PEP 8, Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ code.py:
for i in range(0,3): for j in range(0,3): if (i==2): print(i,j)
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ:
$ black code.py reformatted code.py All done! β¨ ? β¨
code.pyΒ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ:
for i in range(0, 3): for j in range(0, 3): if i == 2: print(i, j)
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π°Π³ --line-length
:
$ black --line-length=79 code.py reformatted code.py All done! β¨ ? β¨
Π Π°Π±ΠΎΡΠ° Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΡΠ΅ΡΠΎΠ² β autopep8Β ΠΈΒ yapf β Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ°Π±ΠΎΡΠ΅ blackΒ .
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Ρ
ΠΎΡΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠ°ΡΡΠ΅ Python Code Quality: Tools & Best PracticesΒ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ° Π²Π°Π½ Π’ΠΎΠ».
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ How to Write Beautiful Python Code With PEP 8.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎ PEP 8 ΡΠΈΡΠ°ΠΉΡΠ΅:
- ΠΠ΅ΠΉΠΌΠΈΠ½Π³ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
- ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΎΠ±Π΅Π»Ρ, Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
7 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Python Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°
Π£Π΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
β ΠΠ·Π΅Π½ ΠΠΈΡΠΎΠ½Π°, Π’ΠΈΠΌ ΠΠΈΡΠ΅ΡΡ
ΠΠ΅Π³ΠΊΠΎ ΡΠΏΡΡΡΠΈΡΡ ΠΈΠ· Π²ΠΈΠ΄Ρ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Β«ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡΒ». (ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ°ΠΊΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ.) ΠΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅Π΄Π΅. Π΄Π»Ρ Π½ΠΈΡ Β ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠΈΡΠΈΡΡ Π±ΡΠ΄ΡΡΡΡ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΡΠΈΡ
Π»ΡΠ±ΠΈΠΌΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π»ΠΈΠ½ΡΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° (ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ PEP 8 ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΡΠΈΠ»Π΅ΠΉ), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΡΡΠΈΠ»Ρ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π·ΡΠ΅Π»ΠΎΡΡΠΈ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΠΎΠΉ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°
PEP 8 β ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° Python, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ, ΠΎΡΡΡΡΠΏΡ, ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ . Π£ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠΈΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ PEP 8. Π¦Π΅Π»ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠΉ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. ΠΠΎΡ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠΊΡΠ°ΡΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄.
1. Pylint
Pylint β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΠ»Ρ PEP 8 ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ½ Ρ
ΠΎΡΠΎΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ IDE, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install pylint
.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pylint ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pylint [options] path/to/dir
ΠΈΠ»ΠΈ pylint [options] path/to/module.py
. Pylint Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠ΅Π½ΠΈΡΡ
ΡΡΠΈΠ»Ρ ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΡΠΈΠ±ΠΊΠ°Ρ
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Pylint, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ pylintrc
.
2. Flake8
Flake8 β ΡΡΠΎ Β«ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ PEP8, Pyflakes (Π°Π½Π°Π»ΠΎΠ³ Pylint), McCabe (ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°) ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΈΠ»Ρ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° PythonΒ».
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Flake8, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install flake8
. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ flake8 [options] path/to/dir
ΠΈΠ»ΠΈ flake8 [options] path/to/module.py
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΈ Pylint, Flake8 Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠΊΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ
Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Flake8 ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ IDE, Π½ΠΎ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Flake8 Ρ Π²Π°ΡΠΈΠΌ Π»ΡΠ±ΠΈΠΌΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ IDE, ΠΏΠΎΠΈΡΠΈΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°Π³ΠΈΠ½ Flake8 Π΄Π»Ρ Sublime Text).
3. Isort
Isort β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΈΡΡΠ΅Ρ Π²Π°ΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΈΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠΏΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠΌΠΏΠΎΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈΠΌΠΏΠΎΡΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Ρ. Π΄.). ΠΡΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΈΠΌΠΏΠΎΡΡΠ°, Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ isort Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip install isort
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ isort path/to/module.py
. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΠΊΠ°ΠΊ isort ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² .
ΡΠ°ΠΉΠ». isort.cfg
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Flake8 ΠΈ Pylint, isort ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ IDE.
ΠΡΠ΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° Π½Π° Π°ΡΡΡΠΎΡΡΠΈΠ½Π³
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π»ΠΈΠ½ΡΠ΅ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Ρ Π²Π°ΡΠ΅ΠΉ IDE. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΠΈΠ½ΡΠ΅ΡΡΒ ΠΈΠ»ΠΈ Ρ Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ ΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΠΌΠ΅Π½Π΅Π΅ Π΄ΠΎΡΠΎΡΠ½Ρ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Π»ΠΈΠ½ΡΠ΅ΡΠ° ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ Π±Π°Π·Π°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ, ΡΡΠ°Π½Π΅Ρ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΠΎΠΉ ΠΈ ΡΡΡΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΠΎ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ PEP 8. ΠΡΠ΅ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ, ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΠΌΠΎΡΠ²Π΅ΡΠ΅Π½Π½Ρ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠ°ΠΊ Ρ Pylint ΠΈ Flake8, Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΆΠΈΡΡβ¦ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΆΠΈΡΡ Ρ .
4. ΠΠ²ΡΠΎΠΏΠ΅ΠΏ8
Autopep8 Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅. ΠΠ½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΠΎΡΡΡΡΠΏΡ ΡΡΡΠΎΠΊ, ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΡΡΡΠΏΡ, ΡΠ΄Π°Π»ΠΈΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ None
). ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install --upgrade autopep8
. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ΅ΡΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ autopep8 --in-place --aggressive --aggressive
. Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π°Π³ΠΈ
(ΠΈ ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ) ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ autopep8 Π½Π°Π΄ ΡΠ²ΠΎΠΈΠΌ ΡΡΠΈΠ»Π΅ΠΌ ΠΊΠΎΠ΄Π°. Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΡΡ
ΠΎΠΏΡΠΈΡΡ
.
5. Yapf
Yapf β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ autopep8 ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ PEP 8. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ PEP 8, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ Π»ΡΡΡΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install yapf
. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ yapf [options] path/to/dir
ΠΈΠ»ΠΈ yapf [options] path/to/module.py
. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
6. Π§Π΅ΡΠ½ΡΠΉ
Π§Π΅ΡΠ½ΡΠΉ β Π½ΠΎΠ²ΠΈΠ½ΠΊΠ° ΡΡΠ΅Π΄ΠΈ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ΅ΡΡΠ΅. ΠΠ½ ΠΏΠΎΡ ΠΎΠΆ Π½Π° autopep8 ΠΈ Yapf, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΠΌΠΎΡΠ²Π΅ΡΠ΅Π½. Π£ Π½Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΠΈ Π²Π°ΠΆΠ½ΠΎ. ΠΠ΄Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΡΠΈΠ»Π΅ ΠΊΠΎΠ΄Π°; Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠΈΡΡ Π·Π° Π²Π°Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΏΠΎ ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ Black ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Python 3.6+, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Python 2. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install black
. Π§ΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, Π·Π°ΠΏΡΡΡΠΈΡΠ΅: black path/to/dir
ΠΈΠ»ΠΈ black path/to/module.py
.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ
ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡ, Π²Π΅ΡΠ½ΠΎ? ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π½Π΅ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ. Π₯ΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ β Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠΈΡ
ΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ: ΠΏΠΎΠΊΡΡΡΠΈΠ΅.
7. ΠΠΎΠΊΡΡΡΠΈΠ΅
Π£ ΠΏΠΎΠΊΡΡΡΠΈΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ ΠΎ Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠΊΡΡΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ Π½Π° HTML-ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅, ΠΈ ΡΠΏΡΠΎΡΡΠΈΡΡ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ pip install cover
. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π΅ Π²ΡΠ²ΠΎΠ΄, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ run [path/to/module.py] [args]
, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ
ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΎΡΡΠ΅Ρ ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ -m
.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ (CI) β ΡΡΠΎ ΡΡΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π»ΠΈΠ½ΡΠ΅ΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ; ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Travis CI ΠΈ Jenkins, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° Python. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π²ΠΎΡΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΠΈΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
ΠΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution-Share Alike 4.0 International License.
ΠΠ°ΠΊ ΠΎΠ±Π²Π°Π» ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΡΠ±Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²Π°Ρ ΠΏΠΎΡΡΡΠ΅Π»Ρ
Π£ΡΠΉΠ½ ΠΠ°Π³Π³Π°Π½, ΡΡΠ°ΡΠ½ΡΠΉ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ BenzingaΒ
28 ΡΠ΅Π²ΡΠ°Π»Ρ 2022 Π³. , 11:41 | 3 min read
- Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ FactSet, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ S&P 500 ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΊΠΎΠ»ΠΎ 1% ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄ΠΎΡ ΠΎΠ΄Π° ΠΎΡ Π ΠΎΡΡΠΈΠΈ ΠΈ Π£ΠΊΡΠ°ΠΈΠ½Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅ ΡΠΎΠ½Π΄Ρ S&P 500, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ SDPR S&P 500 ETF Trust, ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°.
- ΠΠ½Π²Π΅ΡΡΠΎΡΡ, Π²Π»Π°Π΄Π΅ΡΡΠΈΠ΅ ETF ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΡ ΡΡ ΡΡΠ½ΠΊΠΎΠ², ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π ΠΎΡΡΠΈΡ.
Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΡΠ±Π»Ρ ΡΠΎΡΠ³ΠΎΠ²Π°Π»ΡΡ Π½Π° ΠΎΡΠΌΠ΅ΡΠΊΠ΅ 119 Π·Π° Π΄ΠΎΠ»Π»Π°Ρ Π‘Π¨Π Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ ΡΡΡΠΎΠΌ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ 84 Π·Π° Π΄ΠΎΠ»Π»Π°Ρ Π² Π²ΠΎΡΠΊΡΠ΅ΡΠ΅Π½ΡΠ΅, ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΈ Π½Π° 30%. Π Π΅Π·ΠΊΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΊΡΡΡΠ° ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π²Π°Π»ΡΡΡ ΡΡΠ°Π»ΠΎ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠ°Π½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ² Π ΠΎΡΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ Π² Π£ΠΊΡΠ°ΠΈΠ½Ρ Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅.
Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π±Π°Π½ΠΊ Π ΠΎΡΡΠΈΠΈ ΠΎΠ±ΡΡΠ²ΠΈΠ» Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ, ΡΡΠΎ Π΅Π³ΠΎ ΡΡΠ½ΠΊΠΈ Π°ΠΊΡΠΈΠΉ ΠΈ Π΄Π΅ΡΠΈΠ²Π°ΡΠΈΠ²ΠΎΠ² ΠΎΡΡΠ°Π½ΡΡΡΡ Π·Π°ΠΊΡΡΡΡΠΌΠΈ Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π ΠΎΡΡΠΈΠ΅ΠΉ Π°ΠΊΡΠΈΠΈ ΠΈ ETF ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΡΡΡΠ°Π΄Π°Π»ΠΈ Π½Π° ΠΌΠΈΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΠ°Ρ Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ.
Π‘ΡΡΠ»ΠΊΠ° ΠΏΠΎ ΡΠ΅ΠΌΠ΅: Π¦Π΅Π½Ρ Π½Π° Π³Π°Π·: ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΠ΅ Π ΠΎΡΡΠΈΠΈ Π² Π£ΠΊΡΠ°ΠΈΠ½Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡ Π²Π°ΡΠΈ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° Π·Π°ΠΏΡΠ°Π²ΠΊΡ
RSX ΠΈ ΡΠΎΠ½Π΄Ρ SPY: ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ
Π±ΠΎΠ»ΡΡΠΈΡ
ΠΆΠ΅ΡΡΠ², ΠΏΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΡΡΠ°Π» ETF VanEck Russia ETF RSX, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠ°Π» Π½Π° 22,4%. Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ ΡΡΡΠΎΠΌ. ETF RSX ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π ΠΎΡΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ½Π²Π΅ΡΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΠΈ Π² Π ΠΎΡΡΠΈΠΈ ΠΎΠΊΠ°ΠΆΡΡ Π½Π° ΠΈΡ
ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΈ. ΠΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ETF ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ Π΄ΠΎΠ»Ρ ΡΡΠ°ΡΡΠΈΡ Π² Π ΠΎΡΡΠΈΠΈ.
ΠΠΎ Π΄Π°Π½Π½ΡΠΌ FactSet, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° S&P 500 ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΡ ΠΎΠΊΠΎΠ»ΠΎ 1% ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄ΠΎΡ ΠΎΠ΄Π° ΠΎΡ Π ΠΎΡΡΠΈΠΈ ΠΈ Π£ΠΊΡΠ°ΠΈΠ½Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅ ΡΠΎΠ½Π΄Ρ S&P 500, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ SDPR S&P 500 ETF Trust SPY, ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°. Π‘ΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ S&P 500 Philip Morris International Inc. PM Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΌΡΠΉ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ Π²ΡΡΡΡΠΊΠΈ Π² Π ΠΎΡΡΠΈΠΈ ΠΈ Π£ΠΊΡΠ°ΠΈΠ½Π΅ β 8%.
PepsiCo, Inc. PEP ΠΈ Mohawk Industries, Inc. MHK Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΈ ΡΡΠ΅ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Ρ Π΄ΠΎΡ ΠΎΠ΄ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΅ 4,5% ΠΊΠ°ΠΆΠ΄ΡΠΉ.
ΠΡΡΠ³ΠΈΠ΅ ΡΠΎΠ½Π΄Ρ, ΠΎΡΠΊΡΡΡΡΠ΅ Π² Π ΠΎΡΡΠΈΠΈ: ΠΠ½Π²Π΅ΡΡΠΎΡΡ, Π²Π»Π°Π΄Π΅ΡΡΠΈΠ΅ ETF ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΡ
ΡΡ ΡΡΠ½ΠΊΠΎΠ², ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π΄ΠΎΠ»Ρ Π² Π ΠΎΡΡΠΈΠΈ. ΠΠΊΠΎΠ»ΠΎ 2,7% ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Π°ΠΊΡΠΈΠΉ Vanguard FTSE Emerging Markets ETF VWO ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌΠΈ Π°ΠΊΡΠΈΡΠΌΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ 2% Π°ΠΊΡΠΈΠΉ iShares Core MSCI Emerging Markets ETF IEMG ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌΠΈ. Π€ΠΎΠ½Π΄ WisdomTree Emerging Markets High Divided Fund DEM ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ
Π°ΠΊΡΠΈΠΉ β 6,3%.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ETF ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π² Π ΠΎΡΡΠΈΠΈ. Π€ΠΎΠ½Π΄ iShares MSCI Global Metals & Mining Producers ETF PICK ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΠ»Ρ ΡΡΠ°ΡΡΠΈΡ Π² Π ΠΎΡΡΠΈΠΈ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ 2,4%. Π€ΠΎΠ½Π΄ Amplify Lithium & Battery Technology ETF BATT ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΠ»Ρ 2,2%.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ Π°ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΎΡΠ³ΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΎΠ½Π΄ΠΎΠ²ΡΡ Π±ΠΈΡΠΆΠ°Ρ Π‘Π¨Π, Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Yandex NV YNDX, QIWI PLC QIWI, ΠΠ΅ΡΠ΅Π» ΠΠΠ MTL, Ozon Holdings PLC OZON, HeadHunter Group PLC HHR ΠΈ Nexters Inc GDEV.
ΠΠ½Π΅Π½ΠΈΠ΅ ΠΠ΅Π½Π·ΠΈΠ½Π³Π°: ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π΅Π΄Π°Π²Π½ΡΡ Π²ΠΎΠ»Π°ΡΠΈΠ»ΡΠ½ΠΎΡΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Π‘Π¨Π, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ
ΠΈΠ½Π²Π΅ΡΡΠΎΡΠΎΠ² ΠΊΡΠ°ΠΉΠ½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΎΡ ΠΏΡΡΠΌΡΡ
ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ Π² Π ΠΎΡΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΠΉΡΠΊΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΡ.