#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from Python Skills 🐍
Превью из длинного текста

Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.

Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод shorten из модуля textwrap.

Первым аргументом передается строка, вторым указываем количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.

#строки #textwrap
Forwarded from Python Skills 🐍
Присваиваем значение переменной окружения

Для присвоения значения любой переменной среды используется функция setdefault().

Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get().

Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен».
Forwarded from Python Skills 🐍
Красивые таблицы в терминале

PrettyTable – это простая библиотека, предназначенная для быстрого и легкого представления табличных данных в виде ASCII. Модуль можно установить привычным способом через pip.

Для создания таблиц и работы с ними используется класс PrettyTable из этого модуля. Задать название для столбцов можно с помощью атрибута fields_name. Строки в таблицу добавляются путем вызова метода add_row.

Более того, модуль prettytable позволяет регулировать различные параметры, сортировать данные, работать с html, а также взаимодействовать с csv и sql таблицами. Так что возможностей у этого модуля предостаточно.

#таблицы #prettytable
Forwarded from Python Skills 🐍
[Python] С помощью Python нужно записать данные в файл, но только в том случае, если файла ещё нет. Какой режим указать в инструкции open()?
Anonymous Poll
15%
'x'
31%
Никакой. Нужна предварительная проверка os.path.exists()
49%
'w'
5%
'r'
Forwarded from Python Skills 🐍
Находим файлы по шаблону

Основной фишкой модуля glob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.

В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.

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

#glob
Forwarded from Python Skills 🐍
Работа с датами

Модуль python-dateutil предоставляет мощное расширение для стандартного datetime. Устанавливается он следующим образом:

pip3 install python-dateutil

#Python
Forwarded from Python Skills 🐍
validate_email — это простой модуль для валидации email-адресов.

Модуль предоставляет одну основную одноименную функцию, предназначенную для валидации адреса, с помощью уже написанных регулярных выражений. Также в функции реализована проверка mx-записи у сервера и существования переданного адреса, за это отвечают необязательные параметры-флаги функции verify и check_mx.

Функция validate_email проверяет не на существование email-адреса, а возможность на его существования. На фото выше приведён пример.

Модуль отлично подойдёт для различных форм регистрации/входа и в различных других проектах.

Стоит отметить, что при обращении validate_email к DNS записям необходимо предварительно установить модуль py3dns.

Ставится командой pip install validate_email
Простенькая документация и примеры кода здесь.
Forwarded from Python Skills 🐍
Именованные кортежи

Кортежи tuple, по своей сути, являются неизменяемыми списками. Структура данных удобная, но мы можем получать данные, используя только числовые индексы.

Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи namedtuple из collections.

Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.

#namedtuple
Forwarded from Programmer & IT Memes
Совет для всех: учите Python

Средняя зарплата Python-кодера 150 000 рублей, а выучить его можно всего за 1-2 месяца. Главное, чтобы объяснили доступно.

Этим и занимается разработчик Google с @PythonAA. Он укомплектовал инфу в простые уроки, чтобы любой научился кодить и получил работу через месяц.

Никаких занудных учебников и бесполезных туториалов.

Теперь научиться программировать можно ПРЯМО в Телеграме. Без смс и регистрации. Дерзайте: @PythonAA
Forwarded from # pip install (Student B.)
Полное руководство по декораторам в Python
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install

Декораторы придают вашему коду лаконичную и понятную структуру. По этой причине большинство расширений Flask и многие другие пакеты в Python следуют одному и тому же шаблону и раскрывают основные части своей функциональности через декораторы.

1. Регистрация функции
https://python-scripts.com/decorators-one

2. Изменение поведения функции
https://python-scripts.com/decorators-function-behavior

3. Декораторы с аргументами
https://python-scripts.com/decorators-with-arguments
Forwarded from # pip install (Student B.)
🔥 Переменное количество аргументов Функции в Python

Наш чат: @python_scripts

Мы можем использовать специальный синтаксис *args и **kwargs внутри функции для передачи переменного количества аргументов.

Использование *args и **kwargs по сути обеспечивает читабельность и удобство, но их следует использовать с осторожностью.

Подробнее: https://python-scripts.com/def-args-kwargs
Forwarded from HABR FEED + OPENNET
[Перевод] Лямбда-функция в Python простыми словами
https://habr.com/ru/post/674234/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674234
Tags: Блог компании Издательский дом «Питер», Python, Программирование, ООП, Функциональное программирование, python, лямбда-выражения, списки, математические операции
Author ph_piter #habr
Forwarded from Big Data Science [RU]
🪢Пара библиотек для модульного тестирования Python-скриптов
Модульное тестирование позволяет разработчику убедиться, что код работает должным образом на атомарном уровне. Суть модульного тестирования сводится к проверке того, что каждая отдельная функция делает то, что она должна делать. Для этого можно использовать следующие инструменты:
• Pytest — это платформа для написания небольших читаемых тестов, которую можно масштабировать для поддержки сложного функционального тестирования приложений и библиотек. Требуется: Python 3.7+ или PyPy3. https://docs.pytest.org/en/7.1.x/
• Сhispa предоставляет быстрые вспомогательные методы тестирования PySpark, которые выводят описательные сообщения об ошибках. Эта библиотека упрощает написание высококачественного кода PySpark. Интересно, что chispa в переводе с испанского означает искра, т.е. Spark по-английски. https://github.com/MrPowers/chispa
Forwarded from Хабр
«Недавно Google изменил политику по отношению к доступу к аккаунту из неизвестных источников. Давно приходили предупреждения, но я до последнего надеялся, что обойдётся и не коснётся меня. Наивный»

Полковнику никто не пишет: отправка писем по SMTP после изменения политики Google с примером на Python
Forwarded from Хабр
​​«Всем привет! Сегодня хочу поделиться с вами хорошими новостями, которые связаны с производительностью Python в грядущем релизе 3.11 и тем, что нас ожидает в будущем!»

Ускорение производительности Python в 3.11