en
Feedback
Python академия

Python академия

Open in Telegram

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

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

Используем pathlib вместо os Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию Path(), доста
Используем pathlib вместо os Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию Path(), достаточную для полноценной работы с файловыми путями. Одной из самых крутых фич в работе с путями является замена os.path.join() на более удобный и элегантный вариант, изображенный на картинке. По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля os (например os.mkdir или os.path) на более удобные. Подписывайтесь на канал 👉@pythonofff

Функция str replace() в Python Функция replace() в Python используется для создания строки путем замены некоторых частей друг
Функция str replace() в Python Функция replace() в Python используется для создания строки путем замены некоторых частей другой строки. Подписывайтесь на канал 👉@pythonofff

Время исполнения кода Иногда приходится выбирать между несколькими вариантами кода, и часто отталкиваются от его скорости. Пр
Время исполнения кода Иногда приходится выбирать между несколькими вариантами кода, и часто отталкиваются от его скорости. Пример вычисления времени исполнения кода мы сейчас и покажем. Всё достаточно просто: с помощью модуля time запоминаем начальное время, выполняем основной код, узнаём конечное время и просто высчитываем разницу. Если будете использовать этот пример, то просто вставьте свой код вместо комментария. Подписывайтесь на канал 👉@pythonofff

Random seed в Python Генерация случайных чисел Python основана на предыдущем числе, поэтому использование системного времени
Random seed в Python Генерация случайных чисел Python основана на предыдущем числе, поэтому использование системного времени – отличный способ гарантировать, что каждый раз, когда наша программа запускается, она генерирует разные числа. Мы можем использовать функцию random seed() для установки начального значения. Подписывайтесь на канал 👉@pythonofff

Полезность модуля math Сложно переоценить пользу модуля math, если имеешь дело с какими-либо математическими функциями. Модул
Полезность модуля math Сложно переоценить пользу модуля math, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами. Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля numpy. Например, можно импортировать число pi, как в примере. Модуль math обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip). Подписывайтесь на канал 👉@pythonofff

Случайный список – choice(), shuffle(), sample() Есть несколько функций для использования случайности в последовательности. Н
Случайный список – choice(), shuffle(), sample() Есть несколько функций для использования случайности в последовательности. Например, с помощью функции choice() вы можете получить случайный элемент из последовательности. Подписывайтесь на канал 👉@pythonofff

Вычисление выражений Python Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения
Вычисление выражений Python Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так, как показано на картинке выше. Между прочим, данная фича находится в языке уже очень давно. Подписывайтесь на канал 👉@pythonofff

Копирование файлов с помощью метода shutil() Мы можем использовать модуль shutil для копирования файлов в Python. Эта утилита
Копирование файлов с помощью метода shutil() Мы можем использовать модуль shutil для копирования файлов в Python. Эта утилита позволяет нам выполнять операции копирования и перемещения для разных файлов. Подписывайтесь на канал 👉@pythonofff

Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых кр
Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети. И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt: Приветствую! Здравствуйте! Ку, здарова. Добрый день! Привет! Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально. Подписывайтесь на канал 👉@pythonofff

Удаление файлов с помощью метода shutil.os.remove() Модуль Python shutil предлагает метод remove() для удаления файлов из фай
Удаление файлов с помощью метода shutil.os.remove() Модуль Python shutil предлагает метод remove() для удаления файлов из файловой системы. Подписывайтесь на канал 👉@pythonofff

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

Закрытие открытого файла с помощью метода close() Когда вы открываете файл в Python, чрезвычайно важно закрыть файл после вне
Закрытие открытого файла с помощью метода close() Когда вы открываете файл в Python, чрезвычайно важно закрыть файл после внесения изменений. Это сохраняет любые изменения, которые вы сделали ранее, удаляет файл из памяти и предотвращает дальнейшее чтение или запись в программе. Подписывайтесь на канал 👉@pythonofff

Создание дочернего процесса Метод os.fork() создаёт дочерний процесс в том же месте кода, вызывая системную функцию fork(), и
Создание дочернего процесса Метод os.fork() создаёт дочерний процесс в том же месте кода, вызывая системную функцию fork(), и возвращает PID (Process Identifier), который равен PID дочернего процесса в родительском процессе и нулю в новом. Кстати, получается интересный случай, в коде примера выполняется и блок if, и else. Если не знать про os.fork() и посмотреть вывод подобного кода, то возникнет много вопросов. Подписывайтесь на канал 👉@pythonofff

Функции str.split и rsplit() в Python Функция split() в Python используется для разделения строки на список строк на основе р
Функции str.split и rsplit() в Python Функция split() в Python используется для разделения строки на список строк на основе разделителя. В качестве разделителя используется аргумент sep. Если строка содержит последовательные разделители, возвращается пустая строка. Аргумент-разделитель также может состоять из нескольких символов Подписывайтесь на канал 👉@pythonofff

Дескрипторы Дескриптор – это атрибут объекта со “связанным поведением”, то есть такой атрибут, при доступе к которому его пов
Дескрипторы Дескриптор – это атрибут объекта со “связанным поведением”, то есть такой атрибут, при доступе к которому его поведение переопределяется методом протокола дескриптора. Если хотя бы один из этих методов определен в объекте, то можно сказать, что этот метод – дескриптор. Для того, чтобы определить свой собственный дескриптор, обычно определяют три специальных метода класса __get__, __set__ или __delete__. После этого можно создать новый класс и в атрибут этого класса записать объект типа дескриптор. У данного объекта будет переопределено поведение при доступе к атрибуту (__get__), при присваивании значений (__set__) или при удалении (__delete__). Подписывайтесь на канал 👉@pythonofff

Что можно делать в оболочке Python? В оболочке можно делать практически все, что вообще позволяет делать язык Python: использ
Что можно делать в оболочке Python? В оболочке можно делать практически все, что вообще позволяет делать язык Python: использовать переменные, циклы, условия для определения функций и т. д. Символы >>> — это приглашение оболочки, тут вы можете вводить свои команды. Если ваши команды занимают несколько строк, например, при определении цикла, оболочка выводит троеточие …, которое сигнализирует о продолжении строки. Подписывайтесь на канал 👉@pythonofff

Разница между __str__ и __repr__ Оба магических метода __str__ и __repr__ используются для получения строкового представления
Разница между __str__ и __repr__ Оба магических метода __str__ и __repr__ используются для получения строкового представления объекта. Давайте разберемся, в чем же собственно разница между ними. Метод __str__ используется для создания вывода для конечного пользователя, а __repr__ в основном используется для отладки и разработки. Другими словами, цель __repr__ – быть однозначным, а __str__ – читабельным. Функция print() и встроенная функция str() используют метод __str__ для отображения строкового представления объекта, а вот встроенная функция repr() использует для этого метод __repr__. Подписывайтесь на канал 👉@pythonofff

Как удалить элемент из списка с помощью индекса в Python Для удаления элемента по индексу используйте pop(). Для этого также
Как удалить элемент из списка с помощью индекса в Python Для удаления элемента по индексу используйте pop(). Для этого также подойдет ключевое слово del. Подписывайтесь на канал 👉@pythonofff

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