Преобразование Word Doc или Docx в PDF в Python
Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.
После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).
#theory // Just Python
Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.
После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).
#theory // Just Python
Преобразование PowerPoint PPT или PPTX в PDF в Python
Преобразование из PowerPoint в PDF также довольно просто.
Просто используйте метод Presentation.LoadFromFile() для загрузки файла PPT или PPTX, а затем конвертируйте его в PDF с помощью метода Presentation.SaveToFile().
#theory // Just Python
Преобразование из PowerPoint в PDF также довольно просто.
Просто используйте метод Presentation.LoadFromFile() для загрузки файла PPT или PPTX, а затем конвертируйте его в PDF с помощью метода Presentation.SaveToFile().
#theory // Just Python
Синтаксис append() в Python
В этом примере:
1 Создаётся список
2 Метод
3 Вывод
#theory // Just Python
В этом примере:
1 Создаётся список
my_list
с элементами 1, 2, 3.2 Метод
append()
добавляет элемент 4 в конец списка.3 Вывод
my_list
показывает, что новый элемент успешно добавлен в конец списка.#theory // Just Python
Добавление новых элементов в список
Как мы знаем, метод
При этом длина списка увеличивается на 1, и новый элемент занимает позицию с индексом, который на единицу больше, чем индекс последнего элемента до добавления.
#theory // Just Python
Как мы знаем, метод
append()
добавляет новый элемент в конец списка.При этом длина списка увеличивается на 1, и новый элемент занимает позицию с индексом, который на единицу больше, чем индекс последнего элемента до добавления.
#theory // Just Python
Объединение словарей без update()
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
#theory // Just Python
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
#theory // Just Python
Упрощённая проверка аргументов через __post_init__ в dataclass
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
#theory // Just Python
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
#theory // Just Python
Заморозка dataclass с frozen=True
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
#theory // Just Python
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
#theory // Just Python
Библиотека python-decouple
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
#theory // Just Python
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
#theory // Just Python
Быстрое создание вложенных словарей с defaultdict
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
#theory // Just Python
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
#theory // Just Python
Создание списка через цикл с использованием append()
С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.
В примере ниже на каждой итерации цикла переменная
#theory // Just Python
С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.
В примере ниже на каждой итерации цикла переменная
i
содержит текущее значение из диапазона range(5)
, то есть значения от 0 до 4 (включительно).#theory // Just Python
Тернарный оператор: Поместите If и Else в одну строку кода
Многие языки программирования имеют тернарные операторы. Синтаксис Python для этого просто помещает if и else в одну строку.
Если мы реализуем ту же логику, что и выше, без тернарного оператора, потребуется несколько строк кода.
#theory // Just Python
Многие языки программирования имеют тернарные операторы. Синтаксис Python для этого просто помещает if и else в одну строку.
Если мы реализуем ту же логику, что и выше, без тернарного оператора, потребуется несколько строк кода.
#theory // Just Python
contextlib.suppress — элегантное подавление исключений
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
#theory // Just Python
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
#theory // Just Python
Cement
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python
pathlib вместо os.path — чище и удобнее работа с путями
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
#theory // Just Python
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
#theory // Just Python
Блокировка отвлекающих сайтов
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
#theory // Just Python
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
#theory // Just Python
contextlib.suppress() — элегантное игнорирование исключений
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
#theory // Just Python
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
#theory // Just Python
Использование defaultdict из модуля collections для работы с словарями
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
#theory // Just Python
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
#theory // Just Python
Использование метода для элегантного перебора списков — Enumerate
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
Используйте метод “Enumerate” Для элегантного перебора списков
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
Добавление вложенных списков
Метод
Итак, у нас был список
Простой список добавляется во вложенный список как отдельный одинарный элемент.
#theory // Just Python
Метод
append()
может работать и с вложенными списками, а не только с простыми.Итак, у нас был список
nested_list
, внутри которого уже были два вложенных списка [[1, 2], [3, 4]]
.Простой список добавляется во вложенный список как отдельный одинарный элемент.
#theory // Just Python