Forwarded from Библиотека питониста | Python, Django, Flask
Python. Разработка на основе тестирования
Автор: Персиваль Г.
Книга рассказывает о таком методе разработки, как разработка на основе тестирования (Test-Driven Development, TDD) программ на языке Python. Чтобы читатель оценил все возможности такого подхода, в книге подробно описывается процесс разработки реального веб-приложения от начала до конца.
#книгадня
Автор: Персиваль Г.
Книга рассказывает о таком методе разработки, как разработка на основе тестирования (Test-Driven Development, TDD) программ на языке Python. Чтобы читатель оценил все возможности такого подхода, в книге подробно описывается процесс разработки реального веб-приложения от начала до конца.
#книгадня
Forwarded from Библиотека питониста | Python, Django, Flask
Разаработка на Python в Visual Studio Code
В этой статье вы узнаете о том, как:
- установить Visual Studio Code;
- найти и установить расширения, облегчающие разработку на Python;
- написать простое приложение на Python;
- узнаете, как запускать и отлаживать существующие программы Python в VS Code;
- подключать Visual Studio Code к Git и GitHub, чтобы поделиться своим кодом со всем миром.
#статьядня
http://clc.am/qkQNsg
В этой статье вы узнаете о том, как:
- установить Visual Studio Code;
- найти и установить расширения, облегчающие разработку на Python;
- написать простое приложение на Python;
- узнаете, как запускать и отлаживать существующие программы Python в VS Code;
- подключать Visual Studio Code к Git и GitHub, чтобы поделиться своим кодом со всем миром.
#статьядня
http://clc.am/qkQNsg
Forwarded from Библиотека питониста | Python, Django, Flask
Когда вы пишете надежный код, тесты необходимы для проверки правильности, надежности и эффективности логики вашего приложения. Однако ценность ваших тестов зависит от того, насколько хорошо они демонстрируют эти критерии. Препятствия, такие как сложная логика и непредсказуемые зависимости, затрудняют написание ценных тестов. Библиотека фиктивных объектов Python, unittest.mock, может помочь вам преодолеть эти препятствия.
#статьядня
https://prglb.ru/3lsbb
#статьядня
https://prglb.ru/3lsbb
Forwarded from Библиотека питониста | Python, Django, Flask
Когда вы разветвляете свой процесс, случайное начальное число, которое вы используете, копируется между процессами. Это может привести к тому, что процессы будут давать одинаковый «случайный» результат.
Чтобы избежать этого, вы должны вручную вызывать
Однако, если вы используете multiprocessing, он делает это за вас.
# Результат:
4 4 4 5 5
1 4 1 3 3
2 2 2 2 2
Более того, если вы используете Python 3.7 или новее,
Вывод приведенного выше кода для Python 3.7:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
Чтобы избежать этого, вы должны вручную вызывать
random.seed()
в каждом процессе.Однако, если вы используете multiprocessing, он делает это за вас.
import multiprocessing
import random
import os
import sys
def test(a):
print(random.choice(a), end=' ')
# a = [1, 2, 3, 4, 5]
for _ in range(5):
test(a)
print()
for _ in range(5):
p = multiprocessing.Process(
target=test, args=(a,))
p.start()
p.join()
print()
for _ in range(5):
pid = os.fork()
if pid == 0:
test(a)
sys.exit()
else:
os.wait()
print()
# Результат:
4 4 4 5 5
1 4 1 3 3
2 2 2 2 2
Более того, если вы используете Python 3.7 или новее,
os.fork
делает то же самое, благодаря новому хуку at_fork
.Вывод приведенного выше кода для Python 3.7:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
Forwarded from Библиотека питониста | Python, Django, Flask
4 метода тестирования приложений Python для командной строки (CLI)
В этом руководстве вы изучите четыре практических метода тестирования приложений командной строки Python:
Отладка «Lo-Fi» с print()
Использование визуального отладчика Python
Юнит тестирование с помощью pytest и mocks
Интеграционное тестирование
#статьядня
https://prglb.ru/5ju7z
В этом руководстве вы изучите четыре практических метода тестирования приложений командной строки Python:
Отладка «Lo-Fi» с print()
Использование визуального отладчика Python
Юнит тестирование с помощью pytest и mocks
Интеграционное тестирование
#статьядня
https://prglb.ru/5ju7z
Forwarded from Библиотека питониста | Python, Django, Flask
Forwarded from Библиотека питониста | Python, Django, Flask
Тестирование в Python
Есть много способов проверить ваш код. В этом учебном пособии вы изучите приемы, состоящие из самых простых шагов, и перейдете к продвинутым методам.
#статьядня
https://prglb.ru/4k8cv
Есть много способов проверить ваш код. В этом учебном пособии вы изучите приемы, состоящие из самых простых шагов, и перейдете к продвинутым методам.
#статьядня
https://prglb.ru/4k8cv
Forwarded from Библиотека питониста | Python, Django, Flask
Python Unit Testing With VS Code
VS Code может автоматически распознавать существующие тесты Python и запускать их. Разбираемся, как настроить его для запуска наборов тестов и отдельных тестов, а также как просмотреть результаты теста.
#видеодня
https://prglb.ru/31v92
VS Code может автоматически распознавать существующие тесты Python и запускать их. Разбираемся, как настроить его для запуска наборов тестов и отдельных тестов, а также как просмотреть результаты теста.
#видеодня
https://prglb.ru/31v92
YouTube
Python Unit Testing With VS Code
VS Code can automatically recognize existing Python tests and run them. Learn how to configure it to run test suites and individual tests, as well as how to view test output.
Click here to learn more: https://realpython.com/courses/python-development-visual…
Click here to learn more: https://realpython.com/courses/python-development-visual…
Forwarded from Библиотека питониста | Python, Django, Flask
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
Forwarded from Библиотека питониста | Python, Django, Flask
Несколько хороших страничек в 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…
Forwarded from Библиотека питониста | Python, Django, Flask
Forwarded from Библиотека питониста | Python, Django, Flask
Новинки аннотаций типов в 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-спецификатор Соответствие фиксированному зна...
Forwarded from Библиотека питониста | Python, Django, Flask
Метрики кода. Почему метрики кода важны?
Метрики кода могут быть получены с помощью инструментов статического анализа кода для определения сложности и нестандартных практик.
Почему метрики кода важны?
Метрики кода позволяют разработчикам находить проблемные области кодовой базы, которые могут нуждаться в рефакторинге. Кроме того, некоторые показатели, такие как техническая задолженность, помогают разработчикам сообщать нетехнической аудитории, почему возникают проблемы с системой.
Проекты с открытым исходным кодом
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