Python Academy
10.6K subscribers
506 photos
75 videos
585 links
🐍 Прокачайте свои навыки в Python без лишних слов и бубна. Нет туториалов - только чистый код!
Download Telegram
Итерируемые объекты

В Python итерируемый объект — это объект, над которым производятся так называемые проходы (итерации). Например, как в цикле for.
Большинство наборных структур данных являются итерируемыми объектами. Это списки, кортежи, наборы. Например, ниже мы создаём список и проходимся по его элементам по очереди.

Python Academy
6👍6👎6🤗4🤩3🔥2😁2🎉1
Конкатенация строк

Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку.

Более эффективный подход к решению этой задачи заключается в использовании функции join()

Python Academy
🤩76👏6😁5🤗5
Как элегантно обрабатывать ошибки в Python? ⚠️

При написании кода часто возникают ситуации, когда что-то может пойти не так: файл не найден, данные невалидны или пользователь ввёл что-то не то. Новички часто боятся ошибок или пишут громоздкие конструкции, но Python предлагает удобный способ — блок try-except.

С помощью try-except можно перехватить исключения и аккуратно обработать их без аварийного завершения программы. Это улучшает стабильность кода и делает поведение более предсказуемым.

🎯 Итог
try-except позволяет перехватывать ошибки.
Повышает надёжность и стабильность кода.
Удобно для пользовательского ввода, файлов, сетевых операций и др.

Python Academy
👍16👏11😁72🔥2🤩2🎉1
Как присвоить несколько переменных в одну строку? 🔄

Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!

С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.

🎯 Итог
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.

Python Academy
👏12🔥76🤩6👎3😁2🎉2
Как упростить условные выражения в одну строку?

Иногда нужно выбрать значение в зависимости от условия. Новички используют полные конструкции if-else, даже для простых проверок. Это громоздко и плохо читается. Вместо этого можно использовать тернарный оператор — компактный способ записать условие в одну строку.

Он работает по формуле: результат_если_True if условие else результат_если_False.

🎯 Итог
Тернарный оператор экономит место.
Упрощает простые условия.
Делает код чище и легче для чтения.

Python Academy
👍7🔥7👏5😁42🎉1
Как красиво подставлять переменные в строку?

Новички часто используют конкатенацию (+) или .format() для создания строк с переменными, но это может быть громоздко и неудобно. Python предлагает современный и удобный способ — f-строки (форматированные строки), которые позволяют подставлять значения прямо внутрь строки с минимальным синтаксисом.

Для этого перед строкой нужно поставить f, а переменные — обернуть в фигурные скобки {}.

🎯 Итог
f-строки — простой и читаемый способ форматирования.
Позволяют вставлять выражения прямо в строку.
Быстрее и удобнее, чем .format() или +.

Python Academy
😁10🤩10🎉42👎2🤗1
👏6🎉6😁5🤩5👎43🤗1
🕵️‍♂️ Получаем имя текущей функции

Иногда при отладке или логировании нужно узнать, в какой функции мы находимся. Новички могут прописывать имя функции вручную, но Python позволяет получить его автоматически с помощью inspect.

Модуль inspect предоставляет функцию currentframe(), которая возвращает текущий стек вызовов. А f_code.co_name вытаскивает имя функции. Это особенно полезно для логов, когда хочется избежать ручного дублирования.

🎯 Итог
С помощью inspect можно автоматически получать имя текущей функции, что упрощает логирование и повышает читаемость кода.

Python Academy
🎉7😁4👏3🤗3🔥21👍1🤩1
🧪 Проверяем тип переменной

В процессе разработки важно понимать, с каким типом данных вы работаете. Многие новички используют print(type(x)), чтобы узнать тип переменной, но Python предлагает более универсальный способ — isinstance().

Функция isinstance() проверяет, принадлежит ли объект к определённому типу (или группе типов). Это особенно удобно при написании условий и обработке разных данных.

🎯 Итог
isinstance() — удобный инструмент для проверки типов, особенно когда нужно обрабатывать переменные разных типов в одном блоке кода.

Python Academy
👏6😁5🔥43👎1
🕵️‍♂️ Получаем путь к текущему файлу

При работе с файлами часто нужно знать, где находится сам исполняемый скрипт. Новички могут указывать путь вручную, но Python умеет получать его автоматически с помощью встроенного модуля os.

Функция os.path.abspath(file) возвращает абсолютный путь к текущему файлу, а os.path.dirname() — директорию, в которой он находится.

🎯 Итог
С помощью os.path.abspath(file) и os.path.dirname() можно динамически определять путь к текущему файлу и его директории — это удобно для настройки путей и работы с файлами без хардкода.

Python Academy
🔥54👍3🤩3🤗1
🧪 Проверяем тип переменной правильно

Новички часто используют type(x) == int, чтобы проверить тип переменной, но это может не сработать при наследовании. В Python есть более гибкий способ — использовать isinstance().

Функция isinstance(x, int) проверяет, является ли объект x экземпляром типа int или его подклассов. Это безопаснее и считается хорошей практикой.

🎯 Итог
Используйте isinstance() вместо сравнения type(x) == ... — это более надёжный и питоничный способ проверки типа переменной.

Python Academy
😁9👏6🤩2🔥1🎉1
Замеряем время выполнения кода

Иногда важно понять, сколько времени занимает выполнение определённого блока кода — особенно при отладке или оптимизации. Вместо сложных инструментов можно использовать встроенный модуль time.

Простой способ — сохранить текущее время перед началом работы и вычесть его из времени после выполнения кода.

🎯 Итог
Используйте time.time() для простого и наглядного замера времени выполнения кода — удобно при отладке и профилировании.

Python Academy
🎉10👍7🤩41😁1
Не знаешь на кого пойти учиться ?💥

🛑Пройди бесплатные онлайн-курсы

🛑Узнай о самых востребованных профессиях

🛑Получи уникальную возможность поступить в **__«Алабуга Политех»__** после 9 или 11 класса

**ПРОЙДИ КУРС ПРЯМО СЕЙЧАС!**

Python Academy
🔥7🤩7😁65👍2
Быстрая реализация маршрутов в Flask с динамическими URL-частями

Flask позволяет легко создавать маршруты с динамическими частями URL, чтобы обрабатывать параметры прямо из адресной строки.

Python Academy
😁6🔥4🤩4👏31👍1
Преобразуем объект в JSON-строку

Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.

С помощью json.dumps() можно быстро преобразовать любой объект (например, словарь) в строку формата JSON.

🎯 Итог
Модуль json позволяет удобно преобразовывать Python-объекты в строки JSON. Используйте json.dumps() для сериализации.

Python Academy
🎉11🔥6🤗5😁3🤩3
Получение ID текущего процесса

Функция id() возвращет уникальный идентификатор переданного ей в качестве аргумента объекта. Этот идентификатор является адресом в памяти, по которому расположен сам объект.

Python Academy
🔥4👍3🤩3👏2🤗1
Получаем список файлов в папке

Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!

Модуль os предоставляет метод listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.

🎯 Итог
Используйте os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.

Python Academy
👍85🤗3🎉1
⏱️ Измеряем время выполнения кода

Иногда важно узнать, сколько времени выполняется кусок кода, особенно при отладке или оптимизации. Вместо сложных замеров вручную можно использовать модуль time.

Сохраняем текущее время перед началом выполнения, затем снова измеряем — и вычитаем одно из другого. Так мы получаем точное время работы блока кода.

🎯 Итог
Для замеров времени выполнения используйте time.time() — это просто, наглядно и не требует сторонних библиотек.

Python Academy
🤩43😁1🎉1🤗1
Проверяем, запущен ли скрипт напрямую или импортирован

Иногда нужно, чтобы часть кода выполнялась только при запуске файла напрямую, но не при импорте его как модуля. Это особенно важно при написании библиотек и модулей.

Python предлагает простой способ — использовать переменную name, которая будет равна "main" только при прямом запуске файла.

🎯 Итог
Если name == "main" — значит файл был запущен напрямую. Это позволяет изолировать код, не мешая при импорте и улучшая модульность.

Python Academy
😁3🤗32🤩2👍1🎉1
Удаляем все пробелы из строки

При работе с вводом пользователя или текстом из файлов часто встречаются лишние пробелы. Новички могут использовать циклы и условия, но есть способ проще и элегантнее — метод .replace().

Этот приём позволяет удалить все пробелы из строки буквально в одну строку, заменяя ' ' на ''.

🎯 Итог
Метод replace(" ", "") позволяет быстро и без циклов убрать все пробелы из строки. Удобно для предобработки текста.

Python Academy
👏9🔥21🤗1
Вывод импортированных модулей

При импорте модуля Python выполняет весь код в нём. При импорте пакета Python выполняет код в файле пакета init.py , если такой имеется. Все объекты, определённые в модуле или init.py , становятся доступны импортирующему.

Python Academy
🔥7🎉31😁1