Python RU
13.4K subscribers
871 photos
41 videos
36 files
1.12K links
Все для python разработчиков

админ - @haarrp

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
加入频道
10 Python Itertools, которые сделают ваш код аккуратнее, чище и лучше

Красота Python заключается в его простоте. Не только потому, что синтаксис Python элегантен, но и потому, что он имеет множество хорошо спроектированных встроенных модулей, которые помогают нам эффективно реализовывать общие функции.

Модуль itertools, который является хорошим примером, предоставляет нам много мощных инструментов для управления итерируемыми объектами Python в более сокращённом коде.

Читать

@pro_python_code
🖥 Бесплатный курс программирование на языке Python 2023

1.Введение
Лекция
Практическое занятие

2.Простые скрипты
Лекция
Практическое занятие

3.Организация программ
Лекция
Практическое занятие

4.Объектно-ориентированное программирование
Лекция
Практическое занятие

5.Автоматизация тестирования
Лекция
Практическое занятие

6.Функциональное программирование
Лекция
Практическое занятие

@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
SQLAlchemy Основные базовые операции: SELECT-запросы

В этом посте мы обсудим сложные SELECT-запросы, используя как SQLite, так и SQLAlchemy с Python. Наслаждайтесь!

Читать

@pro_python_code
5 приемов Python, которые отличают профессионалов от новичков

В этой статье мы рассмотрим пять подходов senior- и junior-программистов к решению распространенных задач. Все задачи взяты из адвент-календаря. Многие из них повторяются многократно в AoC и в других задачниках по программированию и тестах, с которыми вы можете столкнуться, например, на собеседовании при приеме на работу.

Для понимания разницы между профессионалом и новичком не стоит углубляться в решение всех задач AoC. Остановимся лишь на небольшой их части, позволяющей проиллюстрировать принципиальные отличия senior- от junior-разработчиков.

Читать

@pro_python_code
🖥 Полноценная замена модуля subprocess в Python.

Модуль 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
«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество

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

Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore

#python
🖥 11 бесплатных курсов по 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
🖥 Полезный совет: Проверяйте код с использованием линтера

Линтер анализирует код и ищет в нём ошибки, которые можно обнаружить автоматически. Перед отправкой изменений в репозиторий код всегда полезно проверять с помощью линтера.

Различные 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