Not a Number
В модуле
Эти объекты
Например можно создать подобный объект, просто передав строку
#nan #tips
В модуле
math
есть особый объект, который называется NaN
(Not a Number).Эти объекты
NaN
не уникальны, и даже не равны самим себе, так что вы можете иметь несколько подобных объектов, взятых из нескольких разных источников.Например можно создать подобный объект, просто передав строку
'nan'
во float
. Кстати говоря, это значит что вы можете использовать NaN
в качестве ключа в словаре (хотя мы и не советуем это делать).#nan #tips
Градиентный спуск: просто о сложном
Одним из самых часто используемых алгоритмов в машинном обучении является градиентный спуск, он применяется практически в каждой модели обучения.
Здесь вы изучите все, что вы хотели узнать о градиентном спуске, но боялись спросить.
Читать 7 минут
#статья
Одним из самых часто используемых алгоритмов в машинном обучении является градиентный спуск, он применяется практически в каждой модели обучения.
Здесь вы изучите все, что вы хотели узнать о градиентном спуске, но боялись спросить.
Читать 7 минут
#статья
Полезность модуля math
Сложно переоценить пользу модуля
Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
Модуль
#math #pi #inf
Сложно переоценить пользу модуля
math
, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами.Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
numpy
. Например, можно импортировать число pi
, как в примере.Модуль
math
обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip
).#math #pi #inf
Логические any и all
Одна из многих причин, почему Python является таким популярным языком, заключается в том, что он читаем и выразителен. Предлагаю взглянуть на прикрепленный код.
Функция
На мой взгляд, эти две функции заслуживают отдельного внимания всего лишь из-за их простоты в использовании.
Одна из многих причин, почему Python является таким популярным языком, заключается в том, что он читаем и выразителен. Предлагаю взглянуть на прикрепленный код.
Функция
any
возвращает значение True
, если хотя бы одно из переданных утверждений верно, all
– в случае, если все верны.На мой взгляд, эти две функции заслуживают отдельного внимания всего лишь из-за их простоты в использовании.
Время исполнения кода
Иногда приходится выбирать между несколькими вариантами кода, и часто отталкиваются от его скорости. Пример вычисления времени исполнения кода мы сейчас и покажем.
Всё достаточно просто: с помощью модуля
Если будете использовать этот пример, то просто вставьте свой код вместо комментария.
#трюки #time
Иногда приходится выбирать между несколькими вариантами кода, и часто отталкиваются от его скорости. Пример вычисления времени исполнения кода мы сейчас и покажем.
Всё достаточно просто: с помощью модуля
time
запоминаем начальное время, выполняем основной код, узнаём конечное время и просто высчитываем разницу. Если будете использовать этот пример, то просто вставьте свой код вместо комментария.
#трюки #time
Используем pathlib вместо os
Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию
Одной из самых крутых фич в работе с путями является замена
По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля
#path #os
Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию
Path()
, достаточную для полноценной работы с файловыми путями.Одной из самых крутых фич в работе с путями является замена
os.path.join()
на более удобный и элегантный вариант, изображенный на картинке.По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля
os
(например os.mkdir
или os.path
) на более удобные.#path #os
Комплексные числа в Python
Кроме уже известных вам типов
В Python комплексные числа представлены в виде x + iy. Python преобразует реальные числа x и y в комплексное с помощью функции
Это число можно превратить в строку с помощью
Хотя данный тип и является встроенным, для полноценной работы с комплексными операциями понадобится модуль
#complex #cmath
Кроме уже известных вам типов
int
, float
и подобных, в Python существует еще один довольно интересный тип, а именно, complex
.В Python комплексные числа представлены в виде x + iy. Python преобразует реальные числа x и y в комплексное с помощью функции
complex(x,y)
.Это число можно превратить в строку с помощью
str
, посчитать его модуль с помощью abs
, а также для доступа к его реальной или мнимой части можно воспользоваться функциями real()
и imag()
.Хотя данный тип и является встроенным, для полноценной работы с комплексными операциями понадобится модуль
cmath
.#complex #cmath
Работа с ip адресами
Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль
Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).
Кстати, у модуля
#ipaddress
Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль
ipaddress
.Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).
Кстати, у модуля
ipaddress
есть и много других интересных возможностей, прочитать о которых можно здесь.#ipaddress
Красивый вывод таблиц
Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль
Итак, имена столбцов задается с помощью атрибута
Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод
#трюки #prettytable
Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль
prettytable
, который позволяет красиво выводить таблицы.Итак, имена столбцов задается с помощью атрибута
table.field_names
. А добавлять строки с данными в таблицу можно методом table.add_row([])
, передавая туда список элементов.Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод
table.get_string()
.#трюки #prettytable
Дополнение про prettytable
А вот результат на картинке, который получился при выводе
P. S. Также советуем почитать их гитхаб – там ещё больше примеров.
#трюки #prettytable
А вот результат на картинке, который получился при выводе
table
через стандартную функцию print()
.P. S. Также советуем почитать их гитхаб – там ещё больше примеров.
#трюки #prettytable
Fast QR (@fastqr_bot)
Всем привет! Мы вводим новую рубрику, в которой будем показывать проекты своих подписчиков. Сегодня у нас крайне полезный Telegram-бот.
Вы присылаете боту ссылку на веб-ресурс – он вам в ответ QR-код со спрятанной ссылкой. Также можете отправить картинку, на фоне которой будет создан код. И полезно, и красиво.
Скрипт реализован на всеми любимом
P. S. Присылайте свои проекты мне в личные сообщения – @a1f20. В следующее воскресенье расскажу ещё об одном проекте.
#проектподписчика
Всем привет! Мы вводим новую рубрику, в которой будем показывать проекты своих подписчиков. Сегодня у нас крайне полезный Telegram-бот.
Вы присылаете боту ссылку на веб-ресурс – он вам в ответ QR-код со спрятанной ссылкой. Также можете отправить картинку, на фоне которой будет создан код. И полезно, и красиво.
Скрипт реализован на всеми любимом
python-telegram-bot
, а сам код написан достаточно хорошо, берите с таких проектов пример. Ну и конечно же вот исходники – github.com/awitwicki/fastqr_bot.P. S. Присылайте свои проекты мне в личные сообщения – @a1f20. В следующее воскресенье расскажу ещё об одном проекте.
#проектподписчика
Параметры функции *args, **kwargs
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что
В примере функция принимает обязательный аргумент
В целом, конструкция с
#functions #arguments
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что
args
и kwargs
– общепринятые имена переменных, а разбирать мы будем звездочки перед ними.В примере функция принимает обязательный аргумент
value
, а остальных аргументов она как бы не ожидает. В таком случае *args
упаковывает все не именованные аргументы в кортеж, а **kwargs
– все именованные в словарь.В целом, конструкция с
*args, **kwargs
получается достаточно полезной, если мы не знаем, кто и в каких целях будет использовать нашу функцию. То есть, мы можем запихнуть в аргументы после такого практически всё.#functions #arguments
Pyperclip
Модуль
Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную.
Установить этот модуль можно привычным способом через пакетный менеджер
#pyperclip #модули
Модуль
pyperclip
имеет функции copy()
и paste()
, которые позволяют отправлять текст в буфер обмена вашего компьютера и получать его оттуда.Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную.
Установить этот модуль можно привычным способом через пакетный менеджер
pip
.#pyperclip #модули
Упаковка параметров с помощью urlencode
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция
#трюки #urllib
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)
Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция
urlencode
из модуля urllib
.#трюки #urllib
How Do I
Сегодня наткнулся на модуль, который за вас может гуглить вопросы по программированию. Просто в консоли пишите
Модуль просто парсит верхние ответы со StackOverflow, и всё. Устанавливается это чудо через
#модули #howdoi
Сегодня наткнулся на модуль, который за вас может гуглить вопросы по программированию. Просто в консоли пишите
"howdoi ..."
, где вместо многоточия – ваш вопрос.Модуль просто парсит верхние ответы со StackOverflow, и всё. Устанавливается это чудо через
pip
, а для его использования, очевидно, нужен интернет.#модули #howdoi
Wikipedia в Python
В случае, если вам не хватает прошлого
Устанавливается этот модуль через пакетный менеджер
#модули #wikipedia
В случае, если вам не хватает прошлого
howdoi
, можете взглянуть на модуль, который обращается к API Википедии. Устанавливается этот модуль через пакетный менеджер
pip
. А использовать его можно без всяких трудностей – всё самое важное показано на картинке.#модули #wikipedia