pythonportal | Unsorted

Telegram-канал pythonportal - Python Portal

50319

Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6

Subscribe to a channel

Python Portal

🔍Тестовое собеседование на Python-бекендера с разработчиком из Avito во вторник

17 июня(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, разработчик из Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvB1CC6

Читать полностью…

Python Portal

Это находка дня: Code2Tutorial

Он позволяет мгновенно превратить любой репозиторий на GitHub в чистый, интерактивный туториал.

Просто вставь ссылку на репо → получи структурированное обучение 😱

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по Python:

В datetime.strptime() используйте "%f" для разбора микросекунд

from datetime import datetime

dt = datetime.strptime('2024-06-18 12:34:56.789123', '%Y-%m-%d %H:%M:%S.%f')


🔸'%Y-%m-%d %H:%M:%S.%f' — формат строки:

> %Y — год (4 цифры)
> %m — месяц
> %d — день
> %H — часы (24ч)
> %M — минуты
> %S — секунды
> %f — микросекунды

Результат:


datetime.datetime(2024, 6, 18, 12, 34, 56, 789123)


То есть строка успешно преобразована в объект datetime со всеми компонентами, включая микросекунды.

Это полезно, когда нужно точно работать с временными метками в логах, метриках, или временных рядах 💩

👉 @PythonPortal

Читать полностью…

Python Portal

Python включает очень полезную библиотеку difflib. С её помощью можно находить наиболее похожие строки в списке строк.

Вот пример:


words = ["apple", "ape", "appeal", "par", "parade"]


это список строк, среди которых ищем похожие.

difflib.get_close_matches("appel", words)


Ищет строки, похожие на "appel". Вернёт: ['appeal', 'apple', 'ape']
→ По степени схожести.

difflib.get_close_matches("pa", words)


Ищет похожие на "pa". Вернёт: ['par']

difflib.get_close_matches("par", words)


Ищет похожие на "par". Вернёт: ['par', 'parade']
→ parade похожа по началу.

👉 @PythonPortal

Читать полностью…

Python Portal

Изменение ключей словаря

Ключи словаря являются неизменяемыми. В Python не существует прямого способа изменить ключ словаря. Однако можно использовать метод pop() для изменения или создания нового ключа со значением из существующего ключа.

Допустим, мы хотим заменить ключ "school" на "university" в приведённом ниже словаре. Первый шаг — использовать метод pop() для удаления старого ключа и получения его значения. Второй шаг — создать новый ключ и присвоить ему значение удалённого ключа. Смотрите код ниже:

# Исходный словарь
my_dict = {'school': 'Yale', 'age': 22}

# Шаг 1: Удалить старый ключ и получить его значение
old_value = my_dict.pop('school')

# Шаг 2: Создать новый ключ с нужным именем и присвоить значение
my_dict['university'] = old_value
print(my_dict)


Результат:

{'age': 22, 'university': 'Yale'}


Как видно, ключ "school" был заменён на "university". Учтите, что данный процесс по сути создаёт новый ключ, сохраняя исходное значение 🙂

👉 @PythonPortal

Читать полностью…

Python Portal

Функция filter

Функция filter() используется для фильтрации элементов из итерируемого объекта на основе заданного условия. Она принимает два аргумента: функцию и итерируемый объект. Возвращает итератор, содержащий элементы, которые удовлетворяют условию.

Предположим, у вас есть список чисел, и вы хотите отфильтровать из него только чётные числа. Вы можете использовать функцию filter:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
even_numbers


Результат:

[2, 4, 6, 8]


Обратите внимание, что функция filter использует критерий, заданный функцией lambda, чтобы отфильтровать чётные числа из списка numbers. filter возвращает итератор, поэтому мы используем функцию list(), чтобы извлечь чётные числа в виде списка.

Функция filter() — мощный инструмент для выбора элементов из итерируемых объектов на основе пользовательских условий. Ниже приведены другие способы использования функции filter() в коде:
Фильтрация строк по длине

Если у вас есть список строк, и вы хотите отфильтровать строки определённой длины, вы можете использовать функцию filter(). Предположим, вы хотите получить из списка только те строки, длина которых меньше 5 символов. Вот пример того, как это можно сделать:

words = ["apple", "banana", "kiwi", "grape"]

# Функция, передаваемая в filter
def filter_words(x):
return x if len(x) < 5 else None

short_words = list(filter(filter_words, words))
print(short_words)


Результат:

['kiwi']


👉 @PythonPortal

Читать полностью…

Python Portal

Совет по Python: используйте defaultdict из модуля collections, чтобы автоматически создавать значения для отсутствующих ключей. В отличие от обычного dict, он не выбрасывает KeyError

Пример:

from collections import defaultdict

department_groups = defaultdict(list)

for name, department in employees:
department_groups[department].append(name)


Не нужно проверять наличие ключа. defaultdict(list) автоматически создаёт пустой список при первом обращении 😈

С обычным dict:

department_groups = {}

for name, department in employees:
if department in department_groups:
department_groups[department].append(name)
else:
department_groups[department] = [name]


Нужно вручную проверять наличие ключа и инициализировать список 👀

defaultdict делает код чище, короче и безопаснее при работе с вложенными структурами

👉 @PythonPortal

Читать полностью…

Python Portal

Анатомия Python-класса

Почти всё, что может содержать определение класса в Python — в одной картинке.

Удобный визуал, чтобы быстро освежить синтаксис и структуру 💯

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по Python на сегодня:

С помощью pathlib можно получить доступ к различным частям пути, таким как имя файла, расширение и родительский каталог. Это упрощает обработку и анализ файловых путей

> Имя файла с расширением:

>>> path.name
'test.md'


> Имя файла без расширения:

>>> path.stem
'test'


> Расширение файла:

>>> path.suffix
'.md'


> Родительский каталог:

>>> path.parent
PosixPath('C:/Users')


👉 @PythonPortal

Читать полностью…

Python Portal

Вот репозиторий по основам PyTorch

Нет ничего лучше, чем разобраться в нейросетях на практике — тензоры, градиенты, обучение, всё по шагам в Jupyter.

Идеально, если хочешь вкатиться в AI — ссылка

Отличный репозиторий, но, увы, недооценён. Сохраняй ♟

👉 @PythonPortal

Читать полностью…

Python Portal

Удаление элементов из set в Python

В Python множества (set) поддерживают два метода удаления элементов: remove() и discard()

На изображении выше видно:

> s.remove(4) выбрасывает KeyError, если элемента нет

> s.discard(4) просто молчит и продолжает работу дальше

Оба метода удаляют элементы, но ведут себя по-разному при отсутствии значения.

remove() — строго, discard() — спокойно

Такой подход помогает гибко управлять логикой в зависимости от ситуации:

> нужно жёстко контролировать наличие элемента — используй remove()
> хочешь без лишних исключений — discard() в помощь

Ставь лайк, если разобрался 🚶‍♀️

👉 @PythonPortal

Читать полностью…

Python Portal

Вот игра, с которой ты выучишь Python

Нет ничего лучше, чем писать код прямо внутри игры, чтобы понять, как работает программирование на практике.

CodeStrike — шутер + приключение + Python. Полностью бесплатно в Steam — но ограниченное время

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

Отличный способ учиться весело. Но, увы, мало кто знает. Наслаждайся ✌️

👉 @PythonPortal

Читать полностью…

Python Portal

Нужно создать XML с помощью Python? Попробуй модуль xml. 🐍

Я предпочитаю использовать ElementTree, но в модуле xml есть и другие способы работы с XML

Функция create_xml(filename): создаёт XML-файл с заданным именем.

def create_xml(filename):


Затем создаём элементы:

root = xml.Element("Appointments")
appt = xml.Element("subAppointment")
root.append(appt)


> Appointments — корневой элемент
> subAppointment — дочерний элемент, добавляется к корню

Добавляем вложенный элемент:

begin = xml.SubElement(appt, "begin")
begin.text = "1181251680"


В subAppointment добавляется подэлемент <begin>, содержащий текст

Сериализация и запись в файл:

tree = xml.ElementTree(root)
with open(filename, "wb") as fh:
tree.write(fh)


> Создаётся дерево ElementTree из корня.
> Файл открывается в бинарном режиме записи (wb).
> XML записывается в файл

Запускаем из консоли:

if __name__ == "__main__":
create_xml("appt.xml")


Если скрипт запущен напрямую — вызывается функция create_xml с именем выходного файла "appt.xml"

В результате создаётся XML-файл:

<Appointments>
<subAppointment>
<begin>1181251680</begin>
</subAppointment>
</Appointments>


Готовый и читаемый XML-документ 😈

👉 @PythonPortal

Читать полностью…

Python Portal

Использование оператора match case

В Python 3.10 был введён оператор match case для сопоставления с образцом (pattern matching). Он предоставляет более питоничный способ обработки множества условий без использования традиционных конструкций if-else.

Выше представлен пример использования оператора match case для сопоставления дней недели с задачами. Например, case 'monday' срабатывает, если значение переменной day равно 'monday', и возвращает 'learn Python'.

Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий

Ставь лайк если это полезно для тебя 😈

👉 @PythonPortal

Читать полностью…

Python Portal

Пройдите простой тест и получите доступ к мини-курсу по Python-разработке бесплатно: https://epic.st/Y-giw?erid=2VtzqvvKKJm

Читать полностью…

Python Portal

Нашёл годный инструмент для анализа безопасности Python-кода

Это CLI-утилита, которая автоматически сканирует исходники на уязвимости

Анализирует:

– небезопасные импорты
– инъекции
– проблемы с сериализацией
– утечки секретов и т.д.

Подходит для CI/CD пайплайнов и ревью кода.

Интеграция простая, работает быстро —> bandit ❤️

👉 @PythonPortal

Читать полностью…

Python Portal

🌐 WAICORE — хостинг, за который не надо переживать

Устали от лагов, сложных панелей и переплат? Переходите на VPS с AMD Ryzen 9 — быстро, просто, без нервов.

💬 Почему клиенты выбирают нас:
— Цена начинается от 2€
— Скорость канала до 10 Гбит/с
— Поддержка 24/7 — отвечаем быстро и без шаблонов

☀Приятный бонус: Бесплатный VPN — расширение для браузера в подарок каждому нашему юзеру

VPN | Расширение для браузера

📍 Локации: Германия (Франкфурт), Москва, Нидерланды (уже скоро) — стабильный пинг, DDoS-защита.

🔥 Успейте сегодня
⤵ Выбрать сервер | 💬 Наш канал

Читать полностью…

Python Portal

У CISCO есть 2 курса по Python полностью БЕСПЛАТНО

На английском языке и разработаны для получения официальных сертификатов Python Institute.

Содержат практические проекты и много часов учебного контента: начать 😡

👉 @PythonPortal

Читать полностью…

Python Portal

Нашёл топчик для прокачки алгоритмов и структур данных

Курс "A First Course on Data Structures in Python" — интерактивная книга с кодом и объяснениями написанная Дональдом Р. Шихи, профессором компьютерных наук в North Carolina State University

> Всё на Python
> никакой воды
> Всё с примерами и тестами
> Отлично заходит после базового Python

Читаем и прокачиваем мозг бесплатно — тут 📖

👉 @PythonPortal

Читать полностью…

Python Portal

Структуры данных в Python

Это база, это знать надо 🧠

LIST

> создаются с помощью синтаксиса: myList = []
> имеют методы, такие как: .sort(), .append()
> состоят из упорядоченных групп элементов
> итерируются циклами

ELEMENTS

> находятся по индексам
> могут быть изменены через присваивание: myList[ind] = x
> могут быть типов: int, string, list, …

INDEXES

> используют синтаксис: myList[ind]
> вперёд: от 0 до length-1
> назад: от -1 до -length
> нужны для присваивания

LOOPS

> проходят по списку последовательно
> часто используют идиомы, например:

for elem in myList:
# делаем что-то


TUPLES

> неизменяемы

👉 @PythonPortal

Читать полностью…

Python Portal

Datacamp открыл бесплатный доступ ко всем своим курсам на неделю

Что можно изучить:

> Python, Spark, анализ данных, data engineering
> Машинное обучение, Power BI и многое другое
> Практические проекты
> Сертификаты, которые можно добавить в резюме

Всё бесплатно на протяжении недели через DataCamp 😡

👉 @PythonPortal

Читать полностью…

Python Portal

Отслеживайте и оценивайте любое приложение на базе AI/LLM в 3 строки кода

> Инициализируйте объект оценки с помощью LangWatch (строка 3)

> Декорируйте метод рабочего процесса LLM (строка 5)

> Запишите результат оценки (строка 11)

Можно продолжать использовать Pandas и другие любимые инструменты.

Вы можете интегрировать оценки LangWatch в CI/CD-пайплайны, чтобы каждая новая версия модели автоматически проверялась перед деплоем.

Полностью с открытым исходным кодом → https://github.com/langwatch/langwatch 😊

👉 @PythonPortal

Читать полностью…

Python Portal

Вот четвёртый трюк с GitHub вам в копилку: просто замени .com на chat.ai в URL любого репозитория — и ты сможешь напрямую общаться с кодом 😎

Это меняет правила игры для быстрого понимания и навигации по проекту

👉 @PythonPortal

Читать полностью…

Python Portal

Вот бесплатный курс по изучению Python — 100-days-of-python

С практическими упражнениями и пошаговыми туториалами

Нет ничего лучше, чем писать код ежедневно на протяжении 100 дней, чтобы прочувствовать логику программирования на практике.

Интерактивный курс, который тебе реально нужно заценить. Не благодари 😈

👉 @PythonPortal

Читать полностью…

Python Portal

Диагностика ty становится всё лучше

Если ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python 😎

👉 @PythonPortal

Читать полностью…

Python Portal

Code review больше никогда не будет прежним

CodeRabbit добавил бесплатные AI-ревью кода прямо в VS Code, Cursor и Windsurf.

Этот инструмент находит баги и проверяет твой код на ошибки всего за несколько секунд. Подводит итоги и анализирует Pull Request из твоего репозитория на GitHub или GitLab

Всё что нужно это открыть панель расширений в VS Code, Cursor или Windsurf, введите "CodeRabbit" и нажмите Install 😈

👉 @PythonPortal

Читать полностью…

Python Portal

Нашёл классный инструмент для тех, кто работает с Pandas

Теперь можно автоматически профилировать DataFrame в Jupyter с помощью Pandas AutoProfiler

На выходе — распределение по колонкам, сводная статистика, данные по null-значениям, экспорт кода и т.д.

Всё работает автоматически — писать дополнительный код не нужно

Имба, влепи лайк если согласен ⚔️

👉 @PythonPortal

Читать полностью…

Python Portal

Создай своего первого AI-агента + MCP-сервер на Python

Вот всё, что тебе нужно, чтобы собрать своего первого AI-агента меньше чем за 20 минут.

О коде, который ты здесь увидишь:

> Используется Google ADK с Gemini Flash для запуска агента
> Агент подключается к MCP-серверу
> Он также использует два кастомных инструмента для выполнения задач
> Всё, что делает агент, можно отслеживать благодаря библиотеке Opik

Вот видео — можешь смотреть бесплатно.
А вот репозиторий на GitHub с кодом 💯

👉 @PythonPortal

Читать полностью…

Python Portal

Принёс полезное с Хабра — перевод обновленного учебника по Flask от Мигеля Гринберга

Глава 1: Привет, мир! (тык);
Глава 2: Шаблоны (тык);
Глава 3: Веб-формы (тык);
Глава 4: База данных (тык);
Глава 5: Логины пользователей (тык);
Глава 6: Страница профиля и аватары (тык);
Глава 7: Обработка ошибок (тык);
Глава 8: Подписчики (тык);
Глава 9: Разбивка на страницы (тык);
Глава 10: Поддержка электронной почты (тык);
Глава 11: Дизайн приложения (тык);
Глава 12: Дата и время (тык);
Глава 13: I18n и L10n (тык);
Глава 14: Ajax (тык);
Глава 15: Улучшенная структура приложения (тык);
Глава 16: Полнотекстовый поиск (тык);
Глава 17: Развертывание на Linux (тык);
Глава 18: Развертывание на Heroku (тык);
Глава 19: Развертывание на контейнерах Docker (тык);
Глава 20: Немного магии JavaScript (тык);
Глава 21: Уведомления пользователей (тык);
Глава 22: Фоновые задания (тык);
Глава 23: Интерфейсы прикладного программирования (API) (тык).


Налетайте ☕️

👉 @PythonPortal

Читать полностью…

Python Portal

В России теперь можно официально зарегать свои ИТ-скиллы

Минцифра запустила платформу, где любой желающий может пройти тест и получить сертификат — всё добровольно.
Результат ляжет в личный кабинет на Госуслугах и будет действовать целый год.

Уже можно подтвердить знания по Python, Java, SQL, Linux и другим технологиям.

Пройти можно тут: gosuslugi.ru/itskills 🧠

👉 @PythonPortal

Читать полностью…
Subscribe to a channel