β ββPython Unit Test Automation
ΠΠ²ΡΠΎΡ: Ashwin Pajankar
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΊ doctest, unittest, nose, nose2 ΠΈ pytest
#ΠΊΠ½ΠΈΠ³Π°Π΄Π½Ρ
https://t.me/progbook/3696
ΠΠ²ΡΠΎΡ: Ashwin Pajankar
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΊ doctest, unittest, nose, nose2 ΠΈ pytest
#ΠΊΠ½ΠΈΠ³Π°Π΄Π½Ρ
https://t.me/progbook/3696
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ
ΠΎΡΠΎΡΠΈΡ
ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΊ Π² Twitter. Join! :) ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
Full Stack Python
ΠΠ±ΡΡΠ°ΡΡΠΈΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ.
Python Digest
Π ΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
Talk Python Podcast
ΠΠΎΠ΄ΠΊΠ°ΡΡΡ ΠΎ Python Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
Python Hub
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ.
Python StackOverflow
ΠΠΎΠΏΡΠΎΡΡ ΠΎ Python ΡΠΎ StackOverflow.
Raymond Hettinger
Π‘ΠΎΠ²Π΅ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Full Stack Python
ΠΠ±ΡΡΠ°ΡΡΠΈΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ.
Python Digest
Π ΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
Talk Python Podcast
ΠΠΎΠ΄ΠΊΠ°ΡΡΡ ΠΎ Python Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
Python Hub
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ.
Python StackOverflow
ΠΠΎΠΏΡΠΎΡΡ ΠΎ Python ΡΠΎ StackOverflow.
Raymond Hettinger
Π‘ΠΎΠ²Π΅ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
X (formerly Twitter)
Full Stack Python (@fullstackpython) / X
Links to great #Python tutorials. Also creating https://t.co/FdhJOj11NS. Run by @mattmakai π
The Python 3 Standard Library by Exa.pdf
14.2 MB
Chapter 19
Modules and Packages
#1329
Modules and Packages
#1329
#python python... PYTHON π π
The Python 3 Standard Library by Exa.pdf
Chapter 19.pdf
492.3 KB
Chapter 19
Modules and Packages
Pythonβs primary extension mechanism uses source code saved to modules and incorporated
into a program through the import statement. The features that most developers think of
as βPythonβ are actually implemented as the collection of modules called the Standard
Library, the subject of this book. Although the import feature is built into the interpreter
itself, the library also includes several modules related to the import process.
The importlib (page 1329) module exposes the underlying implementation of the import mechanism used by the interpreter. It can be used to import modules dynamically at
runtime, instead of using the import statement to load them during start-up. Dynamically
loading modules is useful when the name of a module that needs to be imported is not
known in advance, such as for plug-ins or extensions to an application.
Python packages can include supporting resource files such as templates, default configuration files, images, and other data, along with sourc
Modules and Packages
Pythonβs primary extension mechanism uses source code saved to modules and incorporated
into a program through the import statement. The features that most developers think of
as βPythonβ are actually implemented as the collection of modules called the Standard
Library, the subject of this book. Although the import feature is built into the interpreter
itself, the library also includes several modules related to the import process.
The importlib (page 1329) module exposes the underlying implementation of the import mechanism used by the interpreter. It can be used to import modules dynamically at
runtime, instead of using the import statement to load them during start-up. Dynamically
loading modules is useful when the name of a module that needs to be imported is not
known in advance, such as for plug-ins or extensions to an application.
Python packages can include supporting resource files such as templates, default configuration files, images, and other data, along with sourc
#python python... PYTHON π π
Chapter 19.pdf
Telegraph
The Python 3 Standard Library by Exa. Chapter 19
Pythonβs primary extension mechanism uses source code saved to modules and incorporated into a program through the import statement. The features that most developers think of as βPythonβ are actually implemented as the collection of modules called the Standardβ¦
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Deploy Telegram Bot Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python
#ΡΡΠ°ΡΡΡΠ΄Π½Ρ
https://prglb.ru/vu4z
#ΡΡΠ°ΡΡΡΠ΄Π½Ρ
https://prglb.ru/vu4z
ΠΠΎΠ²ΠΈΠ½ΠΊΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ² Π² Python 3.8 (Protocol, Final, TypedDict, Literal)
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π°Π²ΡΠΎΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ²
#ΡΡΠ°ΡΡΡΠ΄Π½Ρ
https://prglb.ru/35czd
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π°Π²ΡΠΎΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ²
#ΡΡΠ°ΡΡΡΠ΄Π½Ρ
https://prglb.ru/35czd
Π₯Π°Π±Ρ
ΠΠΎΠ²ΠΈΠ½ΠΊΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ² Π² Python 3.8 (Protocol, Final, TypedDict, Literal)
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π½ΠΎΡΡΡ Π²ΡΡΠ΅Π» Python 3.8 ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ: ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ Final-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π·Π½Π°...
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄ΠΎΠ»ΠΆΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠ΅ΠΊΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
Radon β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ°Ρ Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΡΠΈΠΊ Π₯ΠΎΠ»ΡΡΠ΅Π΄Π° ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ.
Pylint ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° PEP8, Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
PyFlakes Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ Π½ΠΈΡ .
Pyntch β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ½ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
Prospector ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠΏΠ΅ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅.
Flake8 β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ, Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Flask8 Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Flake8 ΠΎΡ pycodestyle, pyflakes ΠΈ McCabe.
Black β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python Ρ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ, Π±Π΅ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½.
Dlint ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
pylintdb ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ pylint Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅Π΄ ΠΡΡΡΠ΅Π»Π΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΊΡΡΠΎΡΠ΅ΠΊ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ pylintdb .
Flask8-eradicate ( ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ) β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Flask8 Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π‘Π»ΡΠΆΠ±Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π² ΡΠ»ΡΠΆΠ±Ρ, Π²Π²Π΅Π΄Ρ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Coveralls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
webhint, ΡΠ°Π½Π΅Π΅ Sonarwhal, ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-Π²Π΅ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ URL, ΡΠ°ΠΊ ΠΈ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Codecov ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ GitHub, BitBucket ΠΈΠ»ΠΈ GitLab ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΊΠΎΠ΄Π°.
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄ΠΎΠ»ΠΆΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠ΅ΠΊΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
Radon β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ°Ρ Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΡΠΈΠΊ Π₯ΠΎΠ»ΡΡΠ΅Π΄Π° ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ.
Pylint ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° PEP8, Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
PyFlakes Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ Π½ΠΈΡ .
Pyntch β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ½ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
Prospector ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠΏΠ΅ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅.
Flake8 β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ, Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Flask8 Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Flake8 ΠΎΡ pycodestyle, pyflakes ΠΈ McCabe.
Black β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python Ρ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ, Π±Π΅ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½.
Dlint ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
pylintdb ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ pylint Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅Π΄ ΠΡΡΡΠ΅Π»Π΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΊΡΡΠΎΡΠ΅ΠΊ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ pylintdb .
Flask8-eradicate ( ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ) β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Flask8 Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π‘Π»ΡΠΆΠ±Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π² ΡΠ»ΡΠΆΠ±Ρ, Π²Π²Π΅Π΄Ρ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Coveralls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
webhint, ΡΠ°Π½Π΅Π΅ Sonarwhal, ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-Π²Π΅ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ URL, ΡΠ°ΠΊ ΠΈ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Codecov ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ GitHub, BitBucket ΠΈΠ»ΠΈ GitLab ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΊΠΎΠ΄Π°.
PyPI
pylint
python code static checker
ΠΠΆΠ΅ΠΉΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ: ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Python, 2020 ΠΈΠ·Π΄.
ΠΠ΅Π΄ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Django ΠΠΆΠ΅ΠΉΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Python.
1. pyenv
ΠΠΎΡΠ΅ΠΌΡ? ΠΠ»Ρ ΡΠ΅Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ Python, ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Python. pyenv ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΈΡΠΎΠ½Π°ΠΌΠΈ.
2. pipx
ΠΠΎΡΠ΅ΠΌΡ? pipx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Python ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ CLI (youtube-dl, awscli, doc2dash ΠΈ Ρ. Π΄.), ΡΡΠΎΠ±Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π΅ ΠΈΡΠΏΠΎΡΡΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Python.
3. Poetry
ΠΠΎΡΠ΅ΠΌΡ? Poetry ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠ΅Π΄ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Django ΠΠΆΠ΅ΠΉΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Python.
1. pyenv
ΠΠΎΡΠ΅ΠΌΡ? ΠΠ»Ρ ΡΠ΅Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ Python, ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Python. pyenv ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΈΡΠΎΠ½Π°ΠΌΠΈ.
2. pipx
ΠΠΎΡΠ΅ΠΌΡ? pipx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Python ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ CLI (youtube-dl, awscli, doc2dash ΠΈ Ρ. Π΄.), ΡΡΠΎΠ±Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π΅ ΠΈΡΠΏΠΎΡΡΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Python.
3. Poetry
ΠΠΎΡΠ΅ΠΌΡ? Poetry ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
GitHub
GitHub - pyenv/pyenv: Simple Python version management
Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄ΠΎΠ»ΠΆΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠ΅ΠΊΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
Radon β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ°Ρ Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΡΠΈΠΊ Π₯ΠΎΠ»ΡΡΠ΅Π΄Π° ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ.
Pylint ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° PEP8, Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
PyFlakes Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ Π½ΠΈΡ .
Pyntch β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ½ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
Prospector ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠΏΠ΅ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅.
Flake8 β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ, Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Flask8 Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Flake8 ΠΎΡ pycodestyle, pyflakes ΠΈ McCabe.
Black β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python Ρ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ, Π±Π΅ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½.
Dlint ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
pylintdb ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ pylint Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅Π΄ ΠΡΡΡΠ΅Π»Π΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΊΡΡΠΎΡΠ΅ΠΊ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ pylintdb .
Flask8-eradicate ( ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ) β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Flask8 Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π‘Π»ΡΠΆΠ±Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π² ΡΠ»ΡΠΆΠ±Ρ, Π²Π²Π΅Π΄Ρ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Coveralls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
webhint, ΡΠ°Π½Π΅Π΅ Sonarwhal, ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-Π²Π΅ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ URL, ΡΠ°ΠΊ ΠΈ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Codecov ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ GitHub, BitBucket ΠΈΠ»ΠΈ GitLab ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΊΠΎΠ΄Π°.
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Ρ?
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄ΠΎΠ»ΠΆΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠ΅ΠΊΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
Radon β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ°Ρ Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΡΠΈΠΊ Π₯ΠΎΠ»ΡΡΠ΅Π΄Π° ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ.
Pylint ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° PEP8, Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
PyFlakes Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ Π½ΠΈΡ .
Pyntch β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ½ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
Prospector ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠΏΠ΅ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅.
Flake8 β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ, Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Flask8 Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Flake8 ΠΎΡ pycodestyle, pyflakes ΠΈ McCabe.
Black β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python Ρ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ, Π±Π΅ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½.
Dlint ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
pylintdb ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ pylint Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅Π΄ ΠΡΡΡΠ΅Π»Π΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΊΡΡΠΎΡΠ΅ΠΊ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ pylintdb .
Flask8-eradicate ( ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ) β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Flask8 Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π‘Π»ΡΠΆΠ±Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π² ΡΠ»ΡΠΆΠ±Ρ, Π²Π²Π΅Π΄Ρ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Coveralls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
webhint, ΡΠ°Π½Π΅Π΅ Sonarwhal, ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-Π²Π΅ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ URL, ΡΠ°ΠΊ ΠΈ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Codecov ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ GitHub, BitBucket ΠΈΠ»ΠΈ GitLab ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΊΠΎΠ΄Π°.
PyPI
pylint
python code static checker
python3.pdf
172.9 KB
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Π΄Π»Ρ Python 3 ππ
Python Tricks (2017)
ΠΠ²ΡΠΎΡ: Dan Bader
#python #book #en
Π―Π·ΡΠΊ: English.
Π¦Π΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ: Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π»ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΠΌΠΈ Python Π½Π° ΠΏΡΠΎΡΡΡΡ , Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΡ ΡΡΠ°Π½Π΅ΡΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Python, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΠΈ ΠΈΠ΄ΠΈΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΠΊΠ½ΠΈΠ³Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
βοΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Python;
βοΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ;
βοΈ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΠΠ;
βοΈ ΠΎΠ±ΡΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π² Python;
βοΈ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
β ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ;
β ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°;
β ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ.
ΠΠ²ΡΠΎΡ: Dan Bader
#python #book #en
Π―Π·ΡΠΊ: English.
Π¦Π΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ: Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π»ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΠΌΠΈ Python Π½Π° ΠΏΡΠΎΡΡΡΡ , Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΡ ΡΡΠ°Π½Π΅ΡΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Python, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΠΈ ΠΈΠ΄ΠΈΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΠΊΠ½ΠΈΠ³Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
βοΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Python;
βοΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ;
βοΈ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΠΠ;
βοΈ ΠΎΠ±ΡΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π² Python;
βοΈ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
β ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ;
β ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°;
β ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ.
Π‘ 18 ΠΏΠΎ 20 Π½ΠΎΡΠ±ΡΡ Π² 20:00 ΠΏΡΠΎΠΉΠ΄ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ² ΠΏΠΎ Python.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»Π°ΡΡ: https://clc.to/xu2W8g
π ΠΠ° ΡΡΠΈ Π΄Π½Ρ ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π±ΡΡΡΡΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ!
π ΠΠ° ΡΡΠ°ΡΡΠΈΠ΅ ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π°ΡΠΊΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Skillbox ΠΈ EnglishDom.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»Π°ΡΡ: https://clc.to/xu2W8g
π ΠΠ° ΡΡΠΈ Π΄Π½Ρ ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π±ΡΡΡΡΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ!
π ΠΠ° ΡΡΠ°ΡΡΠΈΠ΅ ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π°ΡΠΊΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Skillbox ΠΈ EnglishDom.