This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Малоизвестный совет по Python: используй pyparsing вместо громоздких и тяжёлых regex.
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
🔥20👍11❤9😁4
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Python трюк: сортировка
Вместо словарей можно использовать
@pythonl
namedtuple
Вместо словарей можно использовать
namedtuple
для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
@pythonl
❤17👍9🔥6
Погружаемся в Автоматизацию: первый шаг к профессии будущего 🧑🎓
🗓 2 октября в 19:00 по МСК состоится открытое занятие: «Python + Selenium: шаг в Automation с нуля»
Если вы только начинаете свой путь в автоматизации или все еще занимаетесь ручным тестированием — этот интенсив для вас!
✔️ Чем займемся на занятии?
— Напишем полноценный автотест на Python + Selenium + Pytest
— Разберем, почему именно Python подходит для старта в автоматизации
— Обсудим, как manual-тестировщику перейти в automation
Спикер: Елена Янушевская — Senior QA Automation Engineer. Более 8 лет в тестировании, разрабатывает тестовые фреймворки с нуля для продуктовых компаний.
И куда же без бонуса?🎉
Карьерный консультант Маргарита Головко расскажет, как начать свой путь в карьере автоматизатора, поделится секретами Карьерного центра школы и ответит на ваши вопросы!
🔔 Успейте занять место на вебинар!
🗓 2 октября в 19:00 по МСК состоится открытое занятие: «Python + Selenium: шаг в Automation с нуля»
Если вы только начинаете свой путь в автоматизации или все еще занимаетесь ручным тестированием — этот интенсив для вас!
— Напишем полноценный автотест на Python + Selenium + Pytest
— Разберем, почему именно Python подходит для старта в автоматизации
— Обсудим, как manual-тестировщику перейти в automation
Спикер: Елена Янушевская — Senior QA Automation Engineer. Более 8 лет в тестировании, разрабатывает тестовые фреймворки с нуля для продуктовых компаний.
И куда же без бонуса?
Карьерный консультант Маргарита Головко расскажет, как начать свой путь в карьере автоматизатора, поделится секретами Карьерного центра школы и ответит на ваши вопросы!
🔔 Успейте занять место на вебинар!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🚀 Django 6.0 — уже в пути!
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый
- Фоновые задачи
Декоратор
- Template Partials
Теги
- Обновлённое Email API
Современный
- Другие улучшения
• В админке — иконки Font Awesome
• В
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
-
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@pythonl
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый
ContentSecurityPolicyMiddleware
, теги csp()
и настройки SECURE_CSP
/ SECURE_CSP_REPORT_ONLY
. - Фоновые задачи
Декоратор
@task
и метод enqueue()
для простого запуска background jobs. - Template Partials
Теги
{% partialdef %}
и {% partial %}
для переиспользуемых фрагментов в шаблонах. - Обновлённое Email API
Современный
EmailMessage
вместо устаревших MIME-классов. - Другие улучшения
• В админке — иконки Font Awesome
• В
auth
увеличены итерации PBKDF2 • Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
-
DEFAULT_AUTO_FIELD
теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@pythonl
❤22🔥8👍4