Держите бесплатный курс «Автоматизация тестирования с помощью Selenium и Python»
Научит создавать автоматические UI тесты для веб-приложений с помощью Selenium + Python, упор на практику: задания, скрипты, реальные кейсы. Для комфортного прохождения курса рекомендуется иметь базовые знания Python.
Немного устаревший, но по-прежнему пользуется спросом и поддерживается авторами📚
☝️ Ссылка источник
✈️ Python Ninja
Научит создавать автоматические UI тесты для веб-приложений с помощью Selenium + Python, упор на практику: задания, скрипты, реальные кейсы. Для комфортного прохождения курса рекомендуется иметь базовые знания Python.
Немного устаревший, но по-прежнему пользуется спросом и поддерживается авторами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Совет по Python
Создание словаря из двух списков с использованием функций dict() и zip()
Пример:
Вывод:
Как это работает?
Функция
Практическое применение:
Для быстрого преобразования табличных данных в словари (например, при работе с CSV/Excel) создания конфигураций программ из отдельных списков параметров и значений, а также обработки любых структурированных записей
Важное условие:
Списки должны быть одинаковой длины, иначе лишние элементы не попадут в результат
✈️ Python Ninja
Создание словаря из двух списков с использованием функций dict() и zip()
Пример:
x = ['name', 'age', 'country']
y = ['Yoko', 60, 'Angola']
dict1 = dict(zip(x, y))
print(dict1)
Вывод:
{'name': 'Yoko', 'age': 60, 'country': 'Angola'}Как это работает?
Функция
zip(x, y) соединяет элементы списков попарно (первый с первым, второй со вторым и т.д.), а dict() преобразует эти пары в готовый словарьПрактическое применение:
Для быстрого преобразования табличных данных в словари (например, при работе с CSV/Excel) создания конфигураций программ из отдельных списков параметров и значений, а также обработки любых структурированных записей
Важное условие:
Списки должны быть одинаковой длины, иначе лишние элементы не попадут в результат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3
На Хабре завирусилась статья «Docker изнутри: исчерпывающее руководство»
Экскурсия в сердце контейнеризации: от простых изменений в файловой системе до управления ресурсами и стандартов, которые делают контейнеры гибкими и переносимыми. Сложные механизмы, практические подсказки и высочайшая подача материала
Вдохновляйтесь создавать собственные контейнеры❤️
☝️ Ссылка источник
✈️ Python Ninja
Экскурсия в сердце контейнеризации: от простых изменений в файловой системе до управления ресурсами и стандартов, которые делают контейнеры гибкими и переносимыми. Сложные механизмы, практические подсказки и высочайшая подача материала
Вдохновляйтесь создавать собственные контейнеры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Ловите подгон книга "Python Data Science Handbook"
Руководство по анализу данных на Python: от NumPy и pandas до визуализации и машинного обучения.
А ещё я нашёл репозиторий от Microsoft Data Formulator. Приложение которое использует большие языковые модели для преобразования данных и создания визуализаций
Вкатываемся в data science легко📚
☝️ Ссылка источник
☝️ Ссылка источник
✈️ Python Ninja
Руководство по анализу данных на Python: от NumPy и pandas до визуализации и машинного обучения.
А ещё я нашёл репозиторий от Microsoft Data Formulator. Приложение которое использует большие языковые модели для преобразования данных и создания визуализаций
Вкатываемся в data science легко
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
❤2
SQL в Python: Сравнительное руководство по работе с данными
Знаешь SQL и хочешь понять, как делать то же самое в Pandas? Это руководство покажет как привычные SQL-запросы выглядят в мире Python👊
✈️ Python Ninja
Знаешь SQL и хочешь понять, как делать то же самое в Pandas? Это руководство покажет как привычные SQL-запросы выглядят в мире Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Принёс полезное руководство по метоклассам в Python
Материал не просто рассказывает, что такое метаклассы, — он складывает из мелких деталей целостную картину объектной модели Python
Мы видим полный маршрут создания класса, от подготовки namespace до вызова конструкторов, и понимаем, зачем вообще нужен контроль на уровне метакласса
☝️ Ссылка источник
✈️ Python Ninja
Материал не просто рассказывает, что такое метаклассы, — он складывает из мелких деталей целостную картину объектной модели Python
Мы видим полный маршрут создания класса, от подготовки namespace до вызова конструкторов, и понимаем, зачем вообще нужен контроль на уровне метакласса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Microsoft выкатила мощное и полезное расширение PostgreSQL для VS Code
Microsoft выкатила новое расширение PostgreSQL для VS Code и это апгрейд рабочего процесса на новый уровень
Больше не нужно прыгать между окнами и открывать разные клиенты: прямо в редакторе можно смотреть таблицы, гонять запросы, заглядывать в схемы и даже просить встроенный AI подсказать нужный SQL
Никаких плясок с конфигурациями: поставил и работаешь😘
☝️ Ссылка источник
✈️ Python Ninja
Microsoft выкатила новое расширение PostgreSQL для VS Code и это апгрейд рабочего процесса на новый уровень
Больше не нужно прыгать между окнами и открывать разные клиенты: прямо в редакторе можно смотреть таблицы, гонять запросы, заглядывать в схемы и даже просить встроенный AI подсказать нужный SQL
Никаких плясок с конфигурациями: поставил и работаешь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Совет по Python: как vars() “раскрывает” атрибуты объекта
Функция
Когда это особенно полезно?
Когда нужно быстро увидеть текущие значения всех атрибутов объекта (без принудительного вывода каждого вручную).
При преобразовании экземпляров классов в словари – например, в API-ответах или при сохранении в JSON.
Для динамической работы с атрибутами: можно программно проанализировать, модифицировать или фильтровать их.
Обратите внимание:
Если использовать его на объектах без
Отлично отражает дух Python — коротко, читаемо и эффективно. Особенно полезен, если хочется «зазеркалить» состояние объекта без лишнего кода
✈️ Python Ninja
Функция
vars(obj) возвращает внутренний словарь __dict__ объекта – то есть все публичные атрибуты экземпляра класса и их значения. Это универсальный способ получить «срез» состояния объекта: удобно для отладки, логирования, сериализации в JSON и других задач.Когда это особенно полезно?
Когда нужно быстро увидеть текущие значения всех атрибутов объекта (без принудительного вывода каждого вручную).
При преобразовании экземпляров классов в словари – например, в API-ответах или при сохранении в JSON.
Для динамической работы с атрибутами: можно программно проанализировать, модифицировать или фильтровать их.
Обратите внимание:
vars() работает только с объектами, у которых есть атрибут __dict__ (стандартные экземпляры классов, модули, классы)Если использовать его на объектах без
__dict__ (например, на строке, числе или объектах с __slots__) возникнет TypeErrorОтлично отражает дух Python — коротко, читаемо и эффективно. Особенно полезен, если хочется «зазеркалить» состояние объекта без лишнего кода
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
Git: шпаргалка для новичков
Working Directory: Рабочая директория, здесь вы редактируете файлы проекта
Команда:
Staging (Index) подготовительная область: Содержит изменения, которые будут добавлены в следующий коммит
Команда:
Local Repository локальный репозиторий: Хранит историю всех коммитов на вашем компьютере
Команды:
Stash временное хранилище изменений: Используется, когда изменения нужно временно убрать, но не коммитить
Команды:
Remote Repository удалённый репозиторий: Общий сервер проекта GitHub, GitLab, Bitbucket
Лайк если полезно❤️
✈️ Python Ninja
Working Directory: Рабочая директория, здесь вы редактируете файлы проекта
Команда:
git add - добавить изменения в индекс
Staging (Index) подготовительная область: Содержит изменения, которые будут добавлены в следующий коммит
Команда:
git commit - зафиксировать изменения в локальном репозитории
Local Repository локальный репозиторий: Хранит историю всех коммитов на вашем компьютере
Команды:
git push - отправить коммиты в удалённый репозиторий
git fetch - получить новые коммиты с удалённого репозитория без слияния
git pull - получить и объединить изменения из удалённого репозитория
Stash временное хранилище изменений: Используется, когда изменения нужно временно убрать, но не коммитить
Команды:
git stash - сохранить незавершённые изменения
git stash - apply применить изменения из stash, не удаляя их
git stash pop - применить и удалить сохранённые изменения
Remote Repository удалённый репозиторий: Общий сервер проекта GitHub, GitLab, Bitbucket
Лайк если полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12
Откопал полезный репо — коллекция шпаргалок для разработчиков
Здесь есть буквально всё, короткие удобные шпаргалки по самым нужным темам. Git, SQL-запросы, Docker, RegEx, Bash, Python, JS, HTTP-коды, архитектура REST и многое другое.
Держи под рукой чтобы ускорить рабочий процесс⌨️
☝️ Ссылка источник
✈️ Python Ninja
Здесь есть буквально всё, короткие удобные шпаргалки по самым нужным темам. Git, SQL-запросы, Docker, RegEx, Bash, Python, JS, HTTP-коды, архитектура REST и многое другое.
Держи под рукой чтобы ускорить рабочий процесс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Ловите подгон «101 Linux Commands» системный путеводитель команд Linux
Представьте опытный админ садится рядом и подробно объясняет вам, как устроен Linux. «101 Linux Commands» именно эта книга: дружный проводник, который шаг за шагом открывает мир терминала, не пугая сложностями
Практичный справочник для новичков и специалистов нуждающихся в мини компактном источнике базовых и часто используемых команд📖
☝️ Ссылка источник
✈️ Python Ninja
Представьте опытный админ садится рядом и подробно объясняет вам, как устроен Linux. «101 Linux Commands» именно эта книга: дружный проводник, который шаг за шагом открывает мир терминала, не пугая сложностями
Практичный справочник для новичков и специалистов нуждающихся в мини компактном источнике базовых и часто используемых команд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Динамическая диспетчеризация функций
Динамическая диспетчеризация функций означает принятие решения во время выполнения программы о том, какую функцию вызвать, основываясь на некоторых динамических условиях — часто на типе аргумента, значении или атрибутах объекта. Это можно представить как более «умную» версию конструкции
Замена длинных цепочек
В примере ниже, вместо того чтобы использовать громоздкие
Вывод:
✈️ Python Ninja
Динамическая диспетчеризация функций означает принятие решения во время выполнения программы о том, какую функцию вызвать, основываясь на некоторых динамических условиях — часто на типе аргумента, значении или атрибутах объекта. Это можно представить как более «умную» версию конструкции
if-elif, в которой Python сам решает, какую функцию исполнить, исходя из контекста, а не заранее заданного потока кода. Это является ключевой идеей полиморфизма и гибкого проектированияЗамена длинных цепочек
if-else на словарь диспетчеризации (dispatch dictionary) дает значительные преимущества в читаемости, масштабируемости и сопровождаемости кодаВ примере ниже, вместо того чтобы использовать громоздкие
if-else мы используем карту команд (command map), которую можно легко обновить, если потребуется добавить новые команды. Никаких вложенных условий или «адского» отступа. Такой подход делает код более читаемым, масштабируемым и простым в обновленииdef start_engine():
return "Запуск двигателя..."
def stop_engine():
return "Остановка двигателя..."
def pause_engine():
return "Приостановка двигателя..."
# Диспетчер команд
command_map = {
"start": start_engine,
"stop": stop_engine,
"pause": pause_engine,
# Здесь можно добавить больше команд
}
def handle_command(command):
action = command_map.get(command)
if action:
return action()
else:
return "Неверная команда"
print(handle_command("pause"))
Вывод:
Приостановка двигателя...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Совет по Python
Метод
Если у вас есть список строк и вы хотите получить все строки, которые начинаются с определённого значения, вы можете использовать метод списка
В приведённом ниже примере мы хотим получить все строки из списка, начинающиеся с буквы "a"
Важные уточнения:
Чувствительность к регистру – метод
Если нужно искать строки, начинающиеся на
Проверка нескольких префиксов – можно передавать кортеж префиксов:
✈️ Python Ninja
Метод
startswith()Если у вас есть список строк и вы хотите получить все строки, которые начинаются с определённого значения, вы можете использовать метод списка
startswith()В приведённом ниже примере мы хотим получить все строки из списка, начинающиеся с буквы "a"
a = ['Lemon', 'Orange', 'apple', 'apricot']
list1 = [i for i in a if i.startswith('a')]
print(list1)
# Вывод:
['apple', 'apricot']
Важные уточнения:
Чувствительность к регистру – метод
startswith('a') проверяет строго с маленькой буквыЕсли нужно искать строки, начинающиеся на
'a' или 'A' используйте:[i for i in a if i.lower().startswith('a')]Проверка нескольких префиксов – можно передавать кортеж префиксов:
[i for i in a if i.startswith(('a', 'A'))]Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Хочешь строить приложение на Python и избежать фронтенда
Тогда тебе безусловно понравится этот современный декларативный UI‑фреймворк на Python, без HTML/CSS/JS. Он реализует модель в духе React/Flutter, где все компоненты — Python‑классы с атрибутами‑dataclass и методом
Более 50 встроенных компонентов:
Автодополнение и type safety благодаря полным аннотациям типов
Запуск: локально (окно) или веб (через WebSocket, FastAPI/Uvicorn) — один и тот же код
Dev‑фичи: hot reload, встроенный devtools, интеграция с Python debugger
Лично мне он нравится уже даже по описанию😏
☝️ Ссылка источник
✈️ Python Ninja
Тогда тебе безусловно понравится этот современный декларативный UI‑фреймворк на Python, без HTML/CSS/JS. Он реализует модель в духе React/Flutter, где все компоненты — Python‑классы с атрибутами‑dataclass и методом
build()Более 50 встроенных компонентов:
rio.Button, rio.Text, rio.Switch и др. Автодополнение и type safety благодаря полным аннотациям типов
Запуск: локально (окно) или веб (через WebSocket, FastAPI/Uvicorn) — один и тот же код
Dev‑фичи: hot reload, встроенный devtools, интеграция с Python debugger
Лично мне он нравится уже даже по описанию
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3