10 Python Itertools, которые сделают ваш код аккуратнее, чище и лучше
Красота Python заключается в его простоте. Не только потому, что синтаксис Python элегантен, но и потому, что он имеет множество хорошо спроектированных встроенных модулей, которые помогают нам эффективно реализовывать общие функции.
Модуль itertools, который является хорошим примером, предоставляет нам много мощных инструментов для управления итерируемыми объектами Python в более сокращённом коде.
Читать
@pro_python_code
Красота Python заключается в его простоте. Не только потому, что синтаксис Python элегантен, но и потому, что он имеет множество хорошо спроектированных встроенных модулей, которые помогают нам эффективно реализовывать общие функции.
Модуль itertools, который является хорошим примером, предоставляет нам много мощных инструментов для управления итерируемыми объектами Python в более сокращённом коде.
Читать
@pro_python_code
1.Введение
▪Лекция
▪Практическое занятие
2.Простые скрипты
▪Лекция
▪Практическое занятие
3.Организация программ
▪Лекция
▪Практическое занятие
4.Объектно-ориентированное программирование
▪Лекция
▪Практическое занятие
5.Автоматизация тестирования
▪Лекция
▪Практическое занятие
6.Функциональное программирование
▪Лекция
▪Практическое занятие
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Пакеты Python: учебник для специалистов по работе с данными.
https://dagster.io/blog/python-packages-primer-1
@pro_python_code
https://dagster.io/blog/python-packages-primer-1
@pro_python_code
dagster.io
Python Packages: a Primer for Data People (part 1 of 2) | Dagster Blog
The foundation of a solid Python project is mastering modules, packages and imports.
SQLAlchemy Основные базовые операции: SELECT-запросы
В этом посте мы обсудим сложные SELECT-запросы, используя как SQLite, так и SQLAlchemy с Python. Наслаждайтесь!
▪Читать
@pro_python_code
В этом посте мы обсудим сложные SELECT-запросы, используя как SQLite, так и SQLAlchemy с Python. Наслаждайтесь!
▪Читать
@pro_python_code
5 приемов Python, которые отличают профессионалов от новичков
В этой статье мы рассмотрим пять подходов senior- и junior-программистов к решению распространенных задач. Все задачи взяты из адвент-календаря. Многие из них повторяются многократно в AoC и в других задачниках по программированию и тестах, с которыми вы можете столкнуться, например, на собеседовании при приеме на работу.
Для понимания разницы между профессионалом и новичком не стоит углубляться в решение всех задач AoC. Остановимся лишь на небольшой их части, позволяющей проиллюстрировать принципиальные отличия senior- от junior-разработчиков.
▪Читать
@pro_python_code
В этой статье мы рассмотрим пять подходов senior- и junior-программистов к решению распространенных задач. Все задачи взяты из адвент-календаря. Многие из них повторяются многократно в AoC и в других задачниках по программированию и тестах, с которыми вы можете столкнуться, например, на собеседовании при приеме на работу.
Для понимания разницы между профессионалом и новичком не стоит углубляться в решение всех задач AoC. Остановимся лишь на небольшой их части, позволяющей проиллюстрировать принципиальные отличия senior- от junior-разработчиков.
▪Читать
@pro_python_code
Модуль sh - это полноценная замена модулю Python subprocess (поддержка PyPy3), которая позволяет вызывать любую программу терминала так, как если бы она была функцией. Этот модуль представляет собой обертку над терминалом.
$> pip install sh
>>> from sh import ifconfig
>>> net_docker = ifconfig('docker0'))
или
>>> import sh
>>> net_docker = sh.ifconfig('docker0')
>>> net_docker
# docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
# inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
# ether 02:42:be:1e:35:41 txqueuelen 0 (Ethernet)
# RX packets 0 bytes 0 (0.0
😎
# RX errors 0 dropped 0 overruns 0 frame 0
# TX packets 0 bytes 0 (0.0
😎
# TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Обратите внимание, что это не функции Python, это запуск бинарных команд терминала, установленных в системе путем динамического разрешения вашего $PATH, как это делает bash, а затем происходит обертывание бинарного файла в функцию. Таким образом, все установленные в систему Linux программы терминала легко доступны из кода Python.
Установка модуля sh в виртуальное окружение:
# создаем виртуальное окружение, если нет
$ python3 -m venv .venv --prompt VirtualEnv
# активируем виртуальное окружение
$ source .venv/bin/activate
# ставим модуль sh
(VirtualEnv):~$ python -m pip install -U sh
▪Github
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Шпаргалка_по_Expected_Conditions_в_Selenium.pdf
5.4 MB
🔥 Полезная шпаргалка для начинающих автоматизаторов браузеров по EC (Expected Conditions) в Selenium+Python
@pro_python_code
@pro_python_code
«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
1. Автоматизация тестирования с помощью Selenium и Python - Stepik (INT)
2. Добрый, добрый Python - обучающий курс от Сергея Балакирева - Сергей Балакирев (Stepik) (BEG)
3. Основы программирования на Python - Coursera (BEG)
4. Питонтьютор: Бесплатный курс по программированию с нуля - Виталий Павленко, Владимир Соломатин, Д. П. Кириенко, команда Pythontutor (BEG)
5. "Поколение Python": курс для начинающих - Тимур Гуев, Руслан Чаниев, Анри Табуев (Stepik) (BEG)
6. "Поколение Python": курс для продвинутых - Тимур Гуев, Руслан Чаниев, Благотворительный фонд "Айкью Опшн" (Stepik) (INT)
7. Программирование на Python - Тимофей Бондарев, Павел Федотов (Stepik) (BEG)
8. Python: быстрый старт - Дмитрий Фёдоров (BEG)
9. Python для начинающих (BEG)
10. Python для тех, у кого лапки - Мария Чакчурина, Дмитрий Колосов (Stepik) (INT)
11. Python: основы и применение - Константин Зайцев, Антон Гардер (Stepik) (INT)
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Бесплатный курс от Google: Learn Python basics for data analysis
Основы Python для анализа данных — программирование на Python.
https://learndigital.withgoogle.com/digitalunlocked/course/learn-python-basics-for-data-analysis
@pro_python_code
Основы Python для анализа данных — программирование на Python.
https://learndigital.withgoogle.com/digitalunlocked/course/learn-python-basics-for-data-analysis
@pro_python_code
grow.google
Grow with Google - Training to Grow Your Business & Career- Grow with Google
Explore training and tools to grow your business and online presence and learn digital skills to grow your career and qualify for in-demand jobs.
Линтер анализирует код и ищет в нём ошибки, которые можно обнаружить автоматически. Перед отправкой изменений в репозиторий код всегда полезно проверять с помощью линтера.
Различные IDE и редакторы кода, вроде pycharm и VS Code, содержат встроенные линтеры и подсвечивают проблемные участки кода. Программист сам принимает решение о том, следовать этим рекомендациям или нет. Поначалу сообщения об ошибках, выдаваемые линтерами, могут показаться непонятными. Для того чтобы в них ориентироваться, стоит уделить некоторое время изучению используемого линтера. Это себя окупит.
Если говорить о линтерах, представленных инструментами командной строки, то в этой сфере я порекомендовал бы flake8. Этот линтер обладает разумными настройками, применяемыми по умолчанию. Обычно ошибки, о которых он сообщает, стоит исправлять. Если вы хотите строже относиться к своему коду — взгляните на pylint. Этот линтер способен выявлять множество ошибок, в число которых входят и те, о которых мы тут не говорим.
▍Примеры
Файл, который нужно почистить
В нижеприведённом коде (файл ping.py) можно увидеть некоторые проблемы и без применения линтера.
import requests
import os
def PingExample():
result = requests.get("https://example.com/ping")
Давайте проанализируем его с помощью flake8 и pylint.
Результаты анализа кода с помощью flake8
flake8 ping.py
ping.py:2:1: F401 'os' imported but unused
ping.py:4:1: E302 expected 2 blank lines, found 1
ping.py:5:5: F841 local variable 'result' is assigned to but never used
Результаты анализа кода с помощью pylint
pylint ping.py
************* Module ping
ping.py:1:0: C0114: Missing module docstring (missing-module-docstring)
ping.py:4:0: C0103: Function name "PingExample" doesn't conform to snake_case naming style (invalid-name)
ping.py:4:0: C0116: Missing function or method docstring (missing-function-docstring)
ping.py:5:4: W0612: Unused variable 'result' (unused-variable)
ping.py:2:0: W0611: Unused import os (unused-import)
ping.py:2:0: C0411: standard import "import os" should be placed before "import requests" (wrong-import-order)
--------------------------------------------------------------------
Your code has been rated at -5.00/10 (previous run: -5.00/10, +0.00)
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM