Составной вывод
Простой способ — сложение (конкатенация) строк. Хорошо с одной переменной в строке, а если их больше — читается с трудом.
Простой способ — сложение (конкатенация) строк. Хорошо с одной переменной в строке, а если их больше — читается с трудом.
print('Hello ' + name + ' — ' + str(age) + ' y.o.')
Функция format() позволяет формировать понятный вывод не только для пользователя, но и для программиста.print('Hello {} — {} y.o.'.format(name, age))
Python последовательно проставляет номера для скобок и передает им значения переменных, последовательно указанных в аргументе.NumPy: concatenate
Функция numpy.concatenate() используется для объединения массивов вдоль существующих осей. Это позволяет объединять несколько массивов NumPy в один массив. Мы передаем последовательность массивов, которые хотим объединить, в функцию concatenate() вместе с осью. Если ось не передана явно, она принимается за 0.
Функция numpy.concatenate() используется для объединения массивов вдоль существующих осей. Это позволяет объединять несколько массивов NumPy в один массив. Мы передаем последовательность массивов, которые хотим объединить, в функцию concatenate() вместе с осью. Если ось не передана явно, она принимается за 0.
Преобразование текста в речь
Этот проект на Python использует ряд новых библиотек для преобразования существующей статьи в воспроизводимый mp3-файл. Вам нужно будет установить nltk (natural language toolkit), newspaper3k и gtts.
Программа простая, поскольку мы просто передаем URL-адрес статьи для преобразования, а затем позволяем функции обрабатывать преобразование текста в речь с помощью наших недавно установленных модулей.
Этот проект на Python использует ряд новых библиотек для преобразования существующей статьи в воспроизводимый mp3-файл. Вам нужно будет установить nltk (natural language toolkit), newspaper3k и gtts.
Программа простая, поскольку мы просто передаем URL-адрес статьи для преобразования, а затем позволяем функции обрабатывать преобразование текста в речь с помощью наших недавно установленных модулей.
Как округлить число до нужного знака после запятой?
Новички часто пытаются округлять числа вручную или с помощью форматирования строк. Однако в Python есть встроенная функция
Функция round(число, знаки) округляет число до указанного количества знаков после запятой. Если не указывать второй аргумент — округлит до целого. Удобно для вывода результатов вычислений, цен или процентов.
Итог:
round(x, n) — округление числа x до n знаков после запятой.
Без второго аргумента округляет до целого.
Полезно при работе с деньгами, метриками и графиками.
Новички часто пытаются округлять числа вручную или с помощью форматирования строк. Однако в Python есть встроенная функция
round(), которая делает это просто и понятно.Функция round(число, знаки) округляет число до указанного количества знаков после запятой. Если не указывать второй аргумент — округлит до целого. Удобно для вывода результатов вычислений, цен или процентов.
Итог:
round(x, n) — округление числа x до n знаков после запятой.
Без второго аргумента округляет до целого.
Полезно при работе с деньгами, метриками и графиками.
👍3
Метод get() у словарей и его «дефолтный» результат.
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
❤3
Хочешь пройти собеседование на Python-разработчика?
👉 @easy_interview_ai_bot 👈
Тренируйся, и ты больше не будешь получать отказы!
👉 @easy_interview_ai_bot 👈
Тренируйся, и ты больше не будешь получать отказы!
👍3✍1🔥1
Как замерить время выполнения кода в Python?
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ — модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого. Это особенно полезно при оптимизации производительности.
Итог:
+ Используем time.time() для измерения скорости.
+ Удобно для профилирования и отладки.
+ Легко встроить в любой проект.
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ — модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого. Это особенно полезно при оптимизации производительности.
Итог:
+ Используем time.time() для измерения скорости.
+ Удобно для профилирования и отладки.
+ Легко встроить в любой проект.
3 трюка с itertools
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
Далее,
А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
chain. Она позволяет "склеивать" несколько итерируемых элементов в один.Далее,
accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
combinations. Вторым аргументом можно задать длину этой самой комбинации.👍2
🔧 clean-text — инструмент, который приведёт ваш текст в порядок
Если вы работаете с текстами из соцсетей, форумов или комментариев, вы знаете, насколько они бывают неструктурированными и с лишними символами.
💬 Пример:
Входной текст:
После очистки:
📌 Подходит для препроцессинга текста в NLP проектах, чат-ботах и любых задачах, где важна читаемость и структура.
🔗 Документация: https://pypi.org/project/clean-text/
Если вы работаете с текстами из соцсетей, форумов или комментариев, вы знаете, насколько они бывают неструктурированными и с лишними символами.
clean-text поможет быстро привести такой ввод к нормальной форме — всего одной строкой кода.💬 Пример:
Входной текст:
A bunch of \\u2018new\\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«
После очистки:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!"
📌 Подходит для препроцессинга текста в NLP проектах, чат-ботах и любых задачах, где важна читаемость и структура.
🔗 Документация: https://pypi.org/project/clean-text/
Как удобно разбивать длинные строки в Python
Когда строка становится слишком длинной и тяжело читается — её стоит разбить. Вот три способа сделать это грамотно:
1️⃣ С косой чертой `/`
Позволяет продолжить строку на новой строке без ошибок, но нужно быть аккуратным с пробелами и переносами.
2️⃣ Скобки (круглые)
Самый "питоничный" способ — просто обернуть выражение в скобки. Строки объединяются автоматически, без
3️⃣ Тройные кавычки `'''` или `"""`
Хранится всё, как написано: и переносы строк, и пробелы. Удобно для текстов с форматированием.
Когда строка становится слишком длинной и тяжело читается — её стоит разбить. Вот три способа сделать это грамотно:
1️⃣ С косой чертой `/`
Позволяет продолжить строку на новой строке без ошибок, но нужно быть аккуратным с пробелами и переносами.
2️⃣ Скобки (круглые)
Самый "питоничный" способ — просто обернуть выражение в скобки. Строки объединяются автоматически, без
+.3️⃣ Тройные кавычки `'''` или `"""`
Хранится всё, как написано: и переносы строк, и пробелы. Удобно для текстов с форматированием.
🔥3👍2🤩2
🎯 Фокус со срезом: никаких ошибок из ничего
Срезы в Python — мощный инструмент для получения подмножеств из последовательностей: строк, списков, кортежей,
Но вот интересный момент: если сделать срез у пустой последовательности — ошибки не будет, просто вернётся снова пустая.
Полезно знать при работе с переменными, которые могут оказаться пустыми — код останется устойчивым. Удобная мелочь, а спасает от лишних проверок.
Срезы в Python — мощный инструмент для получения подмножеств из последовательностей: строк, списков, кортежей,
range.Но вот интересный момент: если сделать срез у пустой последовательности — ошибки не будет, просто вернётся снова пустая.
[][:5] # → []
''[2:4] # → ''
()[::2] # → ()
Полезно знать при работе с переменными, которые могут оказаться пустыми — код останется устойчивым. Удобная мелочь, а спасает от лишних проверок.
🛡 try/except — ловим ошибки с умом
🔹
🔹
🔹
🔹
Надёжный способ держать код под контролем.
try/except — конструкция, без которой не обойтись, когда работаешь с внешними данными или непредсказуемыми действиями пользователя.🔹
try — здесь выполняется код, который может "упасть"🔹
except — если что-то пошло не так, переходим сюда🔹
else — если ошибок не было, работаем дальше спокойно🔹
finally — выполняется всегда, даже если был return или исключениеtry:
num = int(input("Введите число: "))
except ValueError:
print("Это не число. Попробуйте снова.")
else:
print("Спасибо!")
finally:
print("Завершение операции.")
Надёжный способ держать код под контролем.
👍5
🧙♂️ eval() в Python vs ast.literal_eval()
Иногда нужно превратить строку в объект Python. Например:
⚠️ eval() опасен — он выполнит любой код, даже вредоносный.
✅ Безопасная альтернатива:
🔐 Используй, если работаешь с пользовательским вводом, конфигами или данными из файлов.
Иногда нужно превратить строку в объект Python. Например:
eval("{'key': 42}") # работает, но...⚠️ eval() опасен — он выполнит любой код, даже вредоносный.
✅ Безопасная альтернатива:
import ast
safe_dict = ast.literal_eval("{'key': 42}")
ast.literal_eval() понимает только литералы (dict, list, str, int и т.п.) — и ничего не испортит.🔐 Используй, если работаешь с пользовательским вводом, конфигами или данными из файлов.
Самоучитель Python
Как работает eval() в Python - особенности метода и примеры
Метод eval() анализирует выражение, переданное этому методу, и запускает выражение (код) Python внутри программы.
👍3
Библиотека captcha позволяет легко генерировать капчи — как текстовые изображения, так и аудио.
Что она умеет:
* Генерация капчи в виде изображения или аудиофайла.
* Настройка шрифтов, что полезно для борьбы с распознавателями текста (например, Tesseract).
* Возможность кастомизации под ваши нужды с помощью различных параметров.
Библиотека активно обновляется, так что проблем с ней не будет.
Важно: Не называйте файл
Установить:
⚙️
Что она умеет:
* Генерация капчи в виде изображения или аудиофайла.
* Настройка шрифтов, что полезно для борьбы с распознавателями текста (например, Tesseract).
* Возможность кастомизации под ваши нужды с помощью различных параметров.
Библиотека активно обновляется, так что проблем с ней не будет.
Важно: Не называйте файл
captcha.py, иначе Python не поймет и выкинет ошибку.Установить:
⚙️
pip install captcha👍3
importlib.invalidate_caches() очищает кэш путей поиска модулей в Python. Это нужно, когда вы динамически добавляете или удаляете .py файлы, например, в тестах, плагинах или REPL-средах. В таких случаях Python может не увидеть изменения, пока не обновит свой кэш, и эта функция помогает решить эту проблему, заставляя систему пересканировать пути к модулям.Зачем это нужно:
* В динамических средах, где модули могут появляться или исчезать на лету, важно, чтобы Python знал о новых модулях без перезапуска.
* Это полезно для корректной работы тестов, плагинов и при работе в интерактивных оболочках.
Пример использования:
import importlib
importlib.invalidate_caches()
Этот вызов гарантирует, что Python будет использовать актуальные версии модулей, если они были изменены или добавлены в процессе работы.