Forwarded from Библиотека питониста | Python, Django, Flask
Realpython
Python News: What's New From May 2022 – Real Python
The first days of May 2022 were the last days of this year's PyCon US event. Just before the PyCon conference, Python developers gathered for the Python Language Summit. The coverage of both Python events is online now. The month of May also had two exciting…
Forwarded from IT Chats 🌍
🌳 Python
@ru_python @propython
@rudepython @pymentor
@python_scripts @chatpython
🌿 Начинающим
@pythonstepikchat
@begeekprogramming
@ru_python_beginners
@tkhirianov_python_2019
@python_noobs @python_for_dummies
🌿 Web
@scrapy_python
@django_ukraine
@django_framework
@pydjango @ru_flask
@fastapi_ru @aiohttp_ru
🌿 Разное
@sqlalchemy_help
@micropython_faq_ru
@ru_pyqt @pydata_chat
👨🏼💻 Работа
@python_scripts_hr
@python_jobs @django_jobs
@ru_python @propython
@rudepython @pymentor
@python_scripts @chatpython
🌿 Начинающим
@pythonstepikchat
@begeekprogramming
@ru_python_beginners
@tkhirianov_python_2019
@python_noobs @python_for_dummies
🌿 Web
@scrapy_python
@django_ukraine
@django_framework
@pydjango @ru_flask
@fastapi_ru @aiohttp_ru
🌿 Разное
@sqlalchemy_help
@micropython_faq_ru
@ru_pyqt @pydata_chat
👨🏼💻 Работа
@python_scripts_hr
@python_jobs @django_jobs
Forwarded from Python Skills 🐍
Добавляем классу большую функциональность
Декоратор
Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
#oop #classmethod
Декоратор
@classmethod
— это метод, который получает класс в качестве параметра, который принято обозначать как cls
. Он указывает на класс ToyClass, а не на объект этого класса. Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
@classmethod
— это обычный метод класса, имеющий доступ ко всем атрибутам класса, через который он был вызван.#oop #classmethod
Forwarded from Python Skills 🐍
Наиболее частый элемент в списке
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
Forwarded from Python Skills 🐍
Превью из длинного текста
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.
Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод
Первым аргументом передается строка, вторым указываем количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
#строки #textwrap
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.
Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод
shorten
из модуля textwrap
. Первым аргументом передается строка, вторым указываем количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
#строки #textwrap
Forwarded from Python Skills 🐍
Присваиваем значение переменной окружения
Для присвоения значения любой переменной среды используется функция setdefault().
Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get().
Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен».
Для присвоения значения любой переменной среды используется функция setdefault().
Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get().
Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен».
Forwarded from Python Skills 🐍
Красивые таблицы в терминале
PrettyTable – это простая библиотека, предназначенная для быстрого и легкого представления табличных данных в виде ASCII. Модуль можно установить привычным способом через
Для создания таблиц и работы с ними используется класс
Более того, модуль
#таблицы #prettytable
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
является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.В одноименный метод
glob
передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix. Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер
pip
.#glob
Forwarded from Python Skills 🐍
Работа с датами
Модуль python-dateutil предоставляет мощное расширение для стандартного datetime. Устанавливается он следующим образом:
Модуль 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.
Ставится командой ⚙
Простенькая документация и примеры кода здесь.
Модуль предоставляет одну основную одноименную функцию, предназначенную для валидации адреса, с помощью уже написанных регулярных выражений. Также в функции реализована проверка mx-записи у сервера и существования переданного адреса, за это отвечают необязательные параметры-флаги функции verify и check_mx.
Функция validate_email проверяет не на существование email-адреса, а возможность на его существования. На фото выше приведён пример.
Модуль отлично подойдёт для различных форм регистрации/входа и в различных других проектах.
Стоит отметить, что при обращении validate_email к DNS записям необходимо предварительно установить модуль py3dns.
Ставится командой ⚙
pip install validate_email
Простенькая документация и примеры кода здесь.
Forwarded from Python Skills 🐍
Именованные кортежи
Кортежи
Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи
Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.
#namedtuple
Кортежи
tuple
, по своей сути, являются неизменяемыми списками. Структура данных удобная, но мы можем получать данные, используя только числовые индексы. Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи
namedtuple
из collections
. Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.
#namedtuple
Forwarded from Programmer & IT Memes
Совет для всех: учите Python
Средняя зарплата Python-кодера 150 000 рублей, а выучить его можно всего за 1-2 месяца. Главное, чтобы объяснили доступно.
Этим и занимается разработчик Google с @PythonAA. Он укомплектовал инфу в простые уроки, чтобы любой научился кодить и получил работу через месяц.
Никаких занудных учебников и бесполезных туториалов.
Теперь научиться программировать можно ПРЯМО в Телеграме. Без смс и регистрации. Дерзайте: @PythonAA
Средняя зарплата Python-кодера 150 000 рублей, а выучить его можно всего за 1-2 месяца. Главное, чтобы объяснили доступно.
Этим и занимается разработчик Google с @PythonAA. Он укомплектовал инфу в простые уроки, чтобы любой научился кодить и получил работу через месяц.
Никаких занудных учебников и бесполезных туториалов.
Теперь научиться программировать можно ПРЯМО в Телеграме. Без смс и регистрации. Дерзайте: @PythonAA
Forwarded from Инжиниринг Данных (Dmitry)
Собрали много алгоритмов на Python в одном месте https://github.com/TheAlgorithms/Python
GitHub
GitHub - TheAlgorithms/Python: All Algorithms implemented in Python
All Algorithms implemented in Python. Contribute to TheAlgorithms/Python development by creating an account on GitHub.
Forwarded from Инжиниринг Данных (Dmitry)
Собрали много алгоритмов на Python в одном месте https://github.com/TheAlgorithms/Python
GitHub
GitHub - TheAlgorithms/Python: All Algorithms implemented in Python
All Algorithms implemented in Python. Contribute to TheAlgorithms/Python development by creating an account on GitHub.