en
Feedback
Python академия

Python академия

Open in Telegram

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

Show more
7 171
Subscribers
-424 hours
-137 days
-4930 days
Posts Archive
Как определить глобальную переменную в Python Когда вы определяете переменную вне функции, например, в начале файла, она имее
Как определить глобальную переменную в Python Когда вы определяете переменную вне функции, например, в начале файла, она имеет глобальную область видимости и называется глобальной переменной. Доступ к глобальной переменной возможен из любой точки программы. Подписывайтесь на канал 👉@pythonofff

Как определить локальную переменную в Python Переменные, определенные внутри тела функции, имеют локальную область видимости.
Как определить локальную переменную в Python Переменные, определенные внутри тела функции, имеют локальную область видимости. Это означает, что они доступны только внутри данной конкретной функции. Другими словами, они «локальны» для этой функции. Подписывайтесь на канал 👉@pythonofff

Проверка истинности объекта класса Для того, чтобы определить поведение при проверке на истинность объектов классов в python3
Проверка истинности объекта класса Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод __bool__(), который был добавлен на замену устаревшему __nonzero__() в python2. Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции bool(). Метод должен возвращать False или True. Если __bool__() не определен, будет вызываться метод __len__(), если он определен, и, соответственно, объект будет считаться истинным, если результат __len__() не будет равен нулю. Если в классе не определены ни __len__(), ни __bool__(), все его экземпляры будут истинными. Подписывайтесь на канал 👉@pythonofff

Объявление переменной в Python Интересно, что при объявлении переменных в Python вам не нужно указывать их тип данных, и это
Объявление переменной в Python Интересно, что при объявлении переменных в Python вам не нужно указывать их тип данных, и это очень удобно. Например, в языке программирования C вы должны явно указать тип данных, которые будут храниться в переменной. Допустим, вы хотите сохранить свой возраст в виде целого числа или типа int. Подписывайтесь на канал 👉@pythonofff

Как искать индекс элемента, которого, возможно, нет в списке Бывает, нужно получить индекс элемента, но мы не уверены, есть л
Как искать индекс элемента, которого, возможно, нет в списке Бывает, нужно получить индекс элемента, но мы не уверены, есть ли он в списке. Если попытаться получить индекс элемента, которого нет в списке, метод index() вызовет ошибку ValueError. При отсутствии обработки исключений ValueError вызовет аварийное завершение программы. Такой исход явно не является хорошим и с ним нужно что-то сделать. Подписывайтесь на канал 👉@pythonofff

Как найти индексы всех вхождений элемента в списке А что, если искомое значение встречается в списке несколько раз и мы хотим
Как найти индексы всех вхождений элемента в списке А что, если искомое значение встречается в списке несколько раз и мы хотим узнать индексы всех этих элементов? Метод index() выдаст нам индекс только первого вхождения. В этом фрагменте кода мы перебираем индексы списка в цикле for и при помощи range(). Далее мы проверяем значение элемента под каждым индексом на равенство «Math«. Если значение элемента — «Math«, мы сохраняем значение индекса в списке. Подписывайтесь на канал 👉@pythonofff

Эмодзи Для вывода эмодзи в python существует несколько методов. 1. Т.к. все эмодзи по сути являются Unicode символам, то мы м
Эмодзи Для вывода эмодзи в python существует несколько методов. 1. Т.к. все эмодзи по сути являются Unicode символам, то мы можем использовать коды символов из Unicode-таблицы, предварительно перед выводом заменяя в коде + на 000. 2. У всех эмодзи существуют краткие CLDR имена, которые мы также можем использовать для вывода. 3. Также можно использовать модуль emoji. В функцию emojize передается CLDR имя, пробелы в котором заменены на нижние подчеркивания и добавлены двоеточия на концах. Подписывайтесь на канал 👉@pythonofff

Как определить индекс элемента списка в Python Итак, как же определить индекс элемента в Python? Давайте представим, что у на
Как определить индекс элемента списка в Python Итак, как же определить индекс элемента в Python? Давайте представим, что у нас есть элемент списка и нам нужно узнать индекс или позицию этого элемента. Списки Python предоставляют нам метод index(), с помощью которого можно получить индекс первого вхождения элемента в список. Подписывайтесь на канал 👉@pythonofff

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

Что такое список в Python? Список в Python — это встроенный тип данных, который позволяет нам хранить множество различных зна
Что такое список в Python? Список в Python — это встроенный тип данных, который позволяет нам хранить множество различных значений, таких как числа, строки, объекты datetime и так далее. Важно отметить, что списки упорядочены. Это означает, что последовательность, в которой мы храним значения, важна. Подписывайтесь на канал 👉@pythonofff

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

Path().rename() Переименовывает файл/каталог по указанному пути. Давайте рассмотрим пример, используя наш каталог /data Если
Path().rename() Переименовывает файл/каталог по указанному пути. Давайте рассмотрим пример, используя наш каталог /data Если вы передадите методу несуществующий файл, он вызовет ошибку FileNotFound. То же самое относится и к каталогам. Подписывайтесь на канал 👉@pythonofff

Логирование Логировние является неотъемлемой частью разработки. Логи показывают информацию о текущем состоянии программы. И чем лучше выстроено логирование, тем проще будет разобраться в нестандартных ситуациях. Python поставляется для этих целей с гибким модулем logging. Для создания объекта Logger, вызываем функцию getLogger, передавая в нее имя логера. Созданный объект Logger предоставляет методы для записи сообщений разного уровня (DEBUG, INFO, WARNING, ERROR, CRITICAL), что удобно для поиска нужной информации с применением фильтров. По умолчанию в logging задан уровень WARNING, это означает, что сообщения уровня DEBUG и INFO будут игнорироваться при записи в лог. Изменить данное поведение можно с помощью метода setLevel, передав минимальный уровень, который будет отлавливаться. Для отправки логов в сконфигурированные места используются обработчики. Мы можем использовать уже существующие хэндлеры, либо создать свой класс обработчика, унаследовавшись от базового класса Handler. Подписывайтесь на канал 👉@pythonofff

Path().touch() Здесь для exists_ok тоже можно установить значение True, чтобы игнорировать ошибку FileExists и обновлять файл
Path().touch() Здесь для exists_ok тоже можно установить значение True, чтобы игнорировать ошибку FileExists и обновлять файл. Подписывайтесь на канал 👉@pythonofff

Изменение в контекстных менеджерах Как вы знаете, для удобного управления жизненным циклом ресурсов в python существуют конте
Изменение в контекстных менеджерах Как вы знаете, для удобного управления жизненным циклом ресурсов в python существуют контекстные менеджеры. Но до недавнего времени, чтобы открыть несколько ресурсов в рамках одной области видимости with нам требовалось либо прописывать их в одну строку либо использовать синтаксис переноса - обратный слеш \ (но это противоречит PEP8). С выходом python 3.10 появился новый синтаксис, позволяющий в круглых скобках указывать несколько контекстных менеджеров. А также мы можем использовать переменную созданную одним контекстным менеджером в рамках следующего за ним менеджера. Это стало возможным благодаря появлению нового синтаксического анализатора PEG в python 3.9. И, строго говоря, python 3.9 уже допускал данный синтаксис, хотя официально еще не поддерживался. Подписывайтесь на канал 👉@pythonofff

Path().mkdir() Согласно официальной документации, метод .mkdir() принимает три аргумента. Мы пока сосредоточимся только на pa
Path().mkdir() Согласно официальной документации, метод .mkdir() принимает три аргумента. Мы пока сосредоточимся только на parents и exists_ok. Оба аргумента имеют значение False по умолчанию. Аргумент parents вызывает ошибку FileNotFound в случае отсутствия родителя, тогда как exists_ok вызывает ошибку FileExists, если данный каталог уже существует. Подписывайтесь на канал 👉@pythonofff

Трюк с f-строками Думаю, про f-строки как метод форматирования все уже знают. Напоминаю, что появились они еще в Python 3.6.
Трюк с f-строками Думаю, про f-строки как метод форматирования все уже знают. Напоминаю, что появились они еще в Python 3.6. Но им добавили еще одну классную фичу в обновлении 3.8 — можно выводить имя переменной и сразу ее значение, добавив знак равно как показано на картинке. Подписывайтесь на канал 👉@pythonofff

Методы Concrete Paths Каждый подкласс Path() предоставляет следующие методы для обработки путей и выполнения системных вызово
Методы Concrete Paths Каждый подкласс Path() предоставляет следующие методы для обработки путей и выполнения системных вызовов: Path().itertir() возвращает содержимое каталога. Подписывайтесь на канал 👉@pythonofff

Проверяем тип объекта Раз уж в предыдущем посте затронули модуль inspect, то давайте еще поговорим про некоторые его возможно
Проверяем тип объекта Раз уж в предыдущем посте затронули модуль inspect, то давайте еще поговорим про некоторые его возможности. Функции ismodule(), isclass(), ismethod() и isfunction() проверяют переданный объект на то, является ли он модулем, классом, методом или функцией соответственно. Подписывайтесь на канал 👉@pythonofff

Свойства Concrete Paths Поскольку Concrete Paths является подклассом PurePath, мы можем использовать все свойства PurePath().
Свойства Concrete Paths Поскольку Concrete Paths является подклассом PurePath, мы можем использовать все свойства PurePath(). Это означает, что мы можем использовать, например, свойство .with_suffix для добавления суффикса к конкретному пути. Подписывайтесь на канал 👉@pythonofff