Python академия
Open in Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Show more7 176
Subscribers
-324 hours
-127 days
-4530 days
Posts Archive
7 176
Method Resolution Order
В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.
Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object.
Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.
Подписывайтесь на канал 👉@pythonofff
7 176
Блок try-except-else
Обработку ошибок в Python легко выполнить, используя блок try/except. Можно добавить к блоку состояние else — оно запускается, когда в блоке try нет исключений.
Если вам нужно запустить что-то независимо от исключений, используйте finally.
Подписывайтесь на канал 👉@pythonofff
7 176
Поиск уникальных элементов в строке
Использование множества (set) — один из вариантов. Он удобен тем, что включает только уникальные элементы. После этого множество можно обратно превратить в список.
Подписывайтесь на канал 👉@pythonofff
7 176
Наиболее частый элемент в списке
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
Подписывайтесь на канал 👉@pythonofff
7 176
Вывод импортированных модулей
Это может быть полезно, если вы хотите знать, какие внешние модули установить в новой системе для запуска вашего кода, без необходимости пробовать снова и снова.
Он не будет перечислять модуль sys или импортированные из него модули
Подписывайтесь на канал 👉@pythonofff
7 176
Оператор (+) для конкатенации списков
Оператор «+» можно использовать для объединения двух списков. Он добавляет один список в конец другого списка и дает новый список в качестве вывода.
Подписывайтесь на канал 👉@pythonofff
7 176
Тип данных SET
Тип данных «set» — это своего рода коллекция. Она стала частью Python, начиная с версии 2.4. Множество содержит неупорядоченную коллекцию уникальных и неизменяемых объектов. Это один из типов данных Python, реализующих множества из мира математики. Множества, в отличие от списков или кортежей, не могут содержать дублей.
Если вы хотите создать множество, просто используйте встроенную функцию set() с последовательностью или другими итерируемыми объектами в качестве аргументов.
Подписывайтесь на канал 👉@pythonofff
7 176
Mодуль cmath
Математические функции, определенные в математическом модуле стандартной библиотеки Python, обрабатывают числа с плавающей запятой.
Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция polar():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
📌Функция phase():
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
📌Функция rect():
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
📌Функция sin():
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
Подписывайтесь на канал 👉@pythonofff
7 176
Библиотека Numpy "Базовые операции"
В Numpy очень просто реализованы простейшие операции: сложение, вычитание, умножение и деление. Единственное, что для этого массивы должны быть одинаковыми.
Даже фильтрация возможна простейшим знаком. В массивах можно не перебирать через итератор filters, а просто поставить нужный знак.
Доступны так же математические операции: синус, косинус и подобные
Подписывайтесь на канал 👉@pythonofff
7 176
Функция locals() в Python
Функция locals() в Python возвращает словарь, представляющий текущую локальную таблицу символов. Программа Python хранит информацию о программе в таблицах символов.
Функция Python locals() не принимает никаких аргументов. Посмотрим словарь, возвращаемый функцией locals().
Подписывайтесь на канал 👉@pythonofff
7 176
Дата из строки ISO
В Python 3.7 добавлен новый метод fromisoformat() для создания экземпляра даты из строки формата ISO. Строка ввода должна быть в формате ГГГГ-ММ-ДД.
Подписывайтесь на канал 👉@pythonofff
7 176
Математические вычисления комплексных чисел
Комплексные числа поддерживают математические вычисления, такие как сложение, вычитание, умножение и деление.
Подписывайтесь на канал 👉@pythonofff
7 176
Фаза комплексного числа
Фаза комплексного числа – это угол между действительной осью и вектором, представляющим мнимую часть. Изображение ниже иллюстрирует фазу комплексного числа и то, как получить это значение с помощью модулей cmath и math.
Обратите внимание, что фаза, возвращаемая модулями math и cmath, выражается в радианах, мы можем использовать функцию numpy.degrees(), чтобы преобразовать ее в градусы. Диапазон фазы – от -π до + π (от -pi до + pi) в радианах, что эквивалентно от -180 до +180 градусов.
Подписывайтесь на канал 👉@pythonofff
7 176
Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
Подписывайтесь на канал 👉@pythonofff
7 176
Библиотека Numpy
Надеемся что вы плодотворно поработали с возможностями Numpy. Но вот красивый вывод вы скорее всего не получили. И, правда, выглядит вывод часто очень страшно, а вывести определенное кол-во элементов кажется проблемой. Но есть метод set_printoptions, который нужен для управления выводом.
Метод принимает следующие аргументы:
precision — количество отображаемых цифр после запятой (по умолчанию 8)
threshold — количество элементов в массиве, вызывающее обрезание элементов (по умолчанию 1000)
edgeitems — количество элементов в начале и в конце каждой размерности массива (по умолчанию 3)
linewidth — количество символов в строке, после которых осуществляется перенос (по умолчанию 75)
suppress — если True, не печатает маленькие значения в scientific notation (по умолчанию False)
nanstr — строковое представление NaN (по умолчанию 'nan')
infstr — строковое представление inf (по умолчанию 'inf')
Подписывайтесь на канал 👉@pythonofff
7 176
Библиотека Numpy
Важнейшей темой безусловно являются срезы. Что неудивительно, только научившись ими владеть, вы поймете, что это просто необходимы инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
Подписывайтесь на канал 👉@pythonofff
7 176
Комплексные числа в Python
Комплексное число создается из двух действительных чисел. Комплексное число в Python можно создать с помощью функции complex(), а также с помощью оператора прямого присваивания.
Комплексные числа в основном используются, когда мы определяем что-то с помощью двух действительных чисел. Например, элемент схемы, который определяется напряжением (В) и током (I). В основном они используются в геометрии, математическом и научном расчетах.
Подписывайтесь на канал 👉@pythonofff
7 176
Модуль datetime
Давайте рассмотрим пример использования функции strftime() с модулем datetime.
Подписывайтесь на канал 👉@pythonofff
7 176
Библиотека pydantic
Программисту всегда приходится задумываться над типами данных, которые он принимает. Это всегда рутина и одна и та же работа. К счастью проверять тип на валидность можно намного удобнее с библиотекой pydantic.
С ее помощью можно перестать писать однотипный код и оставить все нюансы на библиотеку. А главное, что ее удобно отлаживать и получать значения.
Подписывайтесь на канал 👉@pythonofff
7 176
Константы модуля cmath
В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
Подписывайтесь на канал 👉@pythonofff
