Skip to content
andyceo edited this page Mar 6, 2024 · 9 revisions

Python

Здесь собраны интересные ссылки, сниппеты, документация о языке программирования Python и проектах на нем.

Виртуальное окружение

  1. Войти в папку проекта: cd ~/my_python3_project
  2. Создать в папке проекта виртуальное окружение с именем venv: python3 -m venv venv
  3. Активировать окружение venv: source venv/bin/activate

Приглашение терминала будет показываться с префиксом (venv):

  (venv) user@ubuntu:~/my_python3_project$ python

После вышеперечисленного можно ставить пакеты через pip (а не через pip3), пользоваться интерпретатором Python с помощью python, а не python3.

После окончания работы, нужно деактивировать виртуальное окружение:

  (venv) user@ubuntu:~/my_python3_project$ deactivate

Также, после установки виртуального окружения, имеет смысл обновить нём же pip: pip install --upgrade pip

Внутри папки venv будет лежать файл pyvenv.cfg. Если нужно сделать так, чтобы глобально установленные пакеты также были доступны из виртуального окружения, то нужно прописать параметр include-system-site-packages = true.

Ссылки:

Работа с пакетами

Установка и удаление пакетов Python в основном происходит с помощью пакетного менеджера pip.

Магические методы классов

Различные утилиты для работы с Python-кодом

  • Radon - подсчитывает множество метрик кода, цикломатическую сложность, легкость поддержки и т.п.
  • cohesion - меряет сцепленность классов
  • eradicate - удаляет закомментированный код из файлов
  • vulture - находит мертвый (неиспользуемый) код
  • isort - красивая, единообразная сортировка операторов import
  • black - The uncompromising Python code formatter
  • pydocstyle - утилита статического анализа на соответствие docstrings соглашениям, принятым в сообществе
  • bandit - утилита находит распространенные антипаттерны безопасности в коде
  • Python One-Time Password Library - библиотека для работы с двухфакторной авторизацией
  • pylint - линтер, самый старый, функциональный и сложный в настройке
  • flake8 - линтер, новые проекты стоит начинать с ним
  • mypy - статический анализатор
  • Pyre - статический анализатор

Пакеты (awsome curated list)

Простой http-сервер на Python3

python3 -m http.server 8000

или

python -m http.server 8000 --bind 127.0.0.1

или

python3 -m http.server --cgi

Форматирование чисел с плавающей запятой

@todo добавить примеры!

Различные ссылки (несортировано)

Книги

MySQL:

Скачивание страниц:

Классы и ООП

Создание модулей и пакетов (modules and packages)

Логирование

Портирование PHP на Python

Регулярки:

bpython и python3 по умолчанию

демон или служба на python в windows

трейдинг на python

Sidebar is under construction

Clone this wiki locally