uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Python академия

Python академия

Відкрити в Telegram

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Показати більше
7 092
Підписники
-224 години
-117 днів
-3530 днів
Архів дописів
Хранение в памяти При создании списка, в памяти резервируется пустая область. С одной стороны, это ничем не отличается от соз
Хранение в памяти При создании списка, в памяти резервируется пустая область. С одной стороны, это ничем не отличается от создания любого другого типа данных, но разница в том, что содержимое list может меняться Подписывайтесь на канал 👉@pythonofff

Вычисляем размер объектов в памяти Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией sys.getsizeof(o
Вычисляем размер объектов в памяти Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией sys.getsizeof(object[, default]). Поскольку Python написан в полном соответствии с парадигмой ООП, таким объектом может быть все что угодно. Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов. Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError . Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора, если конечно объект управляется сборщиком мусора. Подписывайтесь на канал 👉@pythonofff

Проверяем, присвоено ли значение переменной окружения Давайте создадим Python-файл со следующим скриптом для проверки перемен
Проверяем, присвоено ли значение переменной окружения Давайте создадим Python-файл со следующим скриптом для проверки переменных. Для чтения значений переменных мы используем модуль os, а модуль sys — для прекращения работы приложения. Бесконечный цикл while непрерывно принимает от пользователя имена переменных и проверяет их значения до тех пор, пока пользователь не введёт имя переменной, которой не присвоено значение. Если пользователь вводит имя переменной окружения, которой присвоено значение, это значение выводится, если же нет — выводится соответствующее сообщение и процесс останавливается. Подписывайтесь на канал 👉@pythonofff

Explicit Conversion Flag Флаг явного преобразования используется для преобразования значения поля format перед его непосредст
Explicit Conversion Flag Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием. Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования: !r – преобразует значение в строку, используя функцию repr() !s – преобразует значение в строку, используя функцию str() В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде). Подписывайтесь на канал 👉@pythonofff

Как создать базовый объект timedelta в Python Для начала давайте создадим базовый объект timedelta: Итак, мы успешно создали
Как создать базовый объект timedelta в Python Для начала давайте создадим базовый объект timedelta: Итак, мы успешно создали объект timedelta. Теперь нам нужно создать «эталонное» время, чтобы можно было применить созданный нами объект timedelta для выполнения каких-нибудь арифметических действий. Подписывайтесь на канал 👉@pythonofff

Уже 10 августа начнется наш подготовительный курс по Python! Даём только мясную и прикладную информацию. Никакой воды и траты
Уже 10 августа начнется наш подготовительный курс по Python! Даём только мясную и прикладную информацию. Никакой воды и траты твоего времени. По окончании 14-дневного курса ты уже владеешь базовым знанием языка и даже напишешь собственную программу! Прямо сейчас переходите по ссылке и бронируйте место!

Ускоряем код с помощью векторизации Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. испо
Ускоряем код с помощью векторизации Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize. По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению. Подписывайтесь на канал 👉@pythonofff

Присваиваем значение переменной окружения Для присвоения значения любой переменной среды используется функция setdefault(). Д
Присваиваем значение переменной окружения Для присвоения значения любой переменной среды используется функция setdefault(). Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get(). Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен». Подписывайтесь на канал 👉@pythonofff

Именование среза с использованием функции slice Работа с множеством значений, которые заданы индексами, может быстро обернуть
Именование среза с использованием функции slice Работа с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода. Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке. Подписывайтесь на канал 👉@pythonofff

Создаем виртуальное окружение Виртуальное окружение — это изолированная среда, которая имеет свои локальные интерпретатор и п
Создаем виртуальное окружение Виртуальное окружение — это изолированная среда, которая имеет свои локальные интерпретатор и пакеты, независимые от глобального интерпретатора и других окружений. В стандартной библиотеке Python третьей версии есть пакет venv, который позволяет создавать виртуальные окружения удобно и быстро. Пример представлен на картинке. Скрипт activate в директории bin предназначен для активации окружения, а команда deactivate в уже активированном окружении — для выхода из него. В случае успешного создания и активации у вас в терминале должно появится название вашего виртуального окружения в круглых скобках. Подписывайтесь на канал 👉@pythonofff

Вывод строки или списка n раз Можно использовать умножение (*) со строками или списками; умножать их можно любое количество р
Вывод строки или списка n раз Можно использовать умножение (*) со строками или списками; умножать их можно любое количество раз. Интересным вариантом может быть определение списка с постоянным значением, скажем, ноль. Подписывайтесь на канал 👉@pythonofff

Частичное применение Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать
Частичное применение Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools. Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций. Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров. Подписывайтесь на канал 👉@pythonofff

Переворачивание строки Строки следуют протоколу последовательности Python. И все последовательности поддерживают любопытную ф
Переворачивание строки Строки следуют протоколу последовательности Python. И все последовательности поддерживают любопытную функцию под названием срез. Вы можете смотреть на срез как на расширение синтаксиса индексирования квадратных скобок. Используя операцию среза фрагменты могут переворачиваться Подписывайтесь на канал 👉@pythonofff

Method Resolution Order В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов. Всё
Method Resolution Order В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод. Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object. Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1. Подписывайтесь на канал 👉@pythonofff

Блок try-except-else Обработку ошибок в Python легко выполнить, используя блок try/except. Можно добавить к блоку состояние e
Блок try-except-else Обработку ошибок в Python легко выполнить, используя блок try/except. Можно добавить к блоку состояние else — оно запускается, когда в блоке try нет исключений. Если вам нужно запустить что-то независимо от исключений, используйте finally. Подписывайтесь на канал 👉@pythonofff

Поиск уникальных элементов в строке Использование множества (set) — один из вариантов. Он удобен тем, что включает только уни
Поиск уникальных элементов в строке Использование множества (set) — один из вариантов. Он удобен тем, что включает только уникальные элементы. После этого множество можно обратно превратить в список. Подписывайтесь на канал 👉@pythonofff

Наиболее частый элемент в списке Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Предс
Наиболее частый элемент в списке Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления. Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций. Подписывайтесь на канал 👉@pythonofff

Вывод импортированных модулей Это может быть полезно, если вы хотите знать, какие внешние модули установить в новой системе д
Вывод импортированных модулей Это может быть полезно, если вы хотите знать, какие внешние модули установить в новой системе для запуска вашего кода, без необходимости пробовать снова и снова. Он не будет перечислять модуль sys или импортированные из него модули Подписывайтесь на канал 👉@pythonofff

Понимание функции Чтобы использовать функциональные возможности журнала, нам необходимо импортировать модуль math Нам всем не
Понимание функции Чтобы использовать функциональные возможности журнала, нам необходимо импортировать модуль math Нам всем необходимо принять во внимание тот факт, что к функциям журнала нельзя получить прямой доступ. Нам нужно использовать модуль math для доступа к функциям журнала в коде. Подписывайтесь на канал 👉@pythonofff

Оператор (+) для конкатенации списков Оператор «+» можно использовать для объединения двух списков. Он добавляет один список
Оператор (+) для конкатенации списков Оператор «+» можно использовать для объединения двух списков. Он добавляет один список в конец другого списка и дает новый список в качестве вывода. Подписывайтесь на канал 👉@pythonofff