Senior Python Developer
Ir al canal en Telegram
№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Mostrar más2025 año en números

44 575
Suscriptores
Sin datos24 horas
-907 días
-55930 días
Archivo de publicaciones
Beautiful soup
Когда вы вытаскиваете HTML с какого-то сайта, то сначала проводите его разбор и отсекаете все ненужное. Beautiful Soup — это Python-библиотека по сбору данных из HTML и XML-файлов. В ней представлены простые методы для навигации, поиска и парсинга. Это очень мощная библиотека, которая умеет обрабатывать все виды HTML, даже если он сломан. Уж поверьте моему опыту, HTML ломается довольно часто, поэтому такая функция окажется как нельзя кстати.
Beautiful Soup парсит все, что захотите. С его помощью вы, например, можете вытащить все ссылки или найти заголовок таблицы, выделенный жирным. На первой картинке приведен HTML, а на второй - несколько примеров работы с ним. Документация доступна по ссылке.
Photo unavailableShow in Telegram
Лимит рекурсии
В Python иногда возникает
RecursionError во время создания рекурсивных алгоритмов (даже при решении простых университетских задач), однако с помощью модуля sys можно изменить максимальную глубину рекурсии, чтобы избежать появления этой ошибки.
Но надо помнить, что делать это — опасное занятие, ибо каждый новый вызов занимает достаточно много памяти. В реальных проектах нужно стараться использовать не рекурсию, а обычные циклы.Photo unavailableShow in Telegram
Как вернуть двоичный код целого числа?
Используйте функцию bin().
Photo unavailableShow in Telegram
Логические значения чисел
Функция bool() преобразует объект в логическое значение. Язык также позволяет производить логические операции and, or, not с числами.
При преобразовании чисел к логическим значениям все числа кроме нуля преобразовываются в True. Лишь 0 переходит в False.
Логические операции с числами работают согласно таблицам истинности операторов.
Photo unavailableShow in Telegram
Передача функции в другую функцию
В Python есть возможность передать функцию в качестве аргумента, чтобы потом использовать её внутри другой функции.
Однако такая гибкость может плохо влиять на читаемость кода, поэтому пользоваться фичей нужно с осторожностью.
Photo unavailableShow in Telegram
Пишем простого эхо-бота на Python
Инструкция по созданию бота:
1) Заходим в бота @BotFather
2) запускаем его(/start)
3) выбираем команду /newbot
4) даем имя боту
5) после этого придумываем ему юзернейм
6) и наконец-таки получаем токен для нашего бота, который вставляем в свой код.
Теперь заходим в среду написания кода, вставляем наш код с картинки(для особо ленивых код будет в комментариях), вставляем свой токен и запускаем программу, после чего заходим в телеграм, находим в поиске вашего бота и запускаем его.
Перед запуском программы необходимо установить пакет telebot(pip install telebot).
Наш с вами бот будет работать в роли попугая, так как будет повторять любую вашу фразу.
Photo unavailableShow in Telegram
Избегайте вложенных циклов с помощью product
Когда программа становится сложной, неизбежно приходится писать вложенные циклы. Однако вложенные циклы делают программы более сложными для чтения и сопровождения.
К счастью, в Python всегда можно избежать вложенных циклов с помощью встроенной функции product().
Например, у нас есть следующая программа, которая содержит трехуровневые вложенные циклы for.
Чтобы сделать код более аккуратным и чистым, мы можем использовать функцию product(), которая находится в модуле itertools, для оптимизации кода.
Photo unavailableShow in Telegram
Копирование объектов
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать
copy.copy(), произойдет поверхностное копирование, т.е. создастся новый объект, но его ссылки на другие объекты будут те же.
Если же использовать copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.Photo unavailableShow in Telegram
Перемешиваем строку
Для того чтобы перемешать символы в строке вы можете воспользоваться методом random.sample().
Photo unavailableShow in Telegram
Шуточный пакет pyjokes
Если в вашей крови течёт PEP, а дома вас ждёт домашняя змея в клетке, то и шутки вам нужны соответствующие. Вы всегда можете получить их с помощью модуля pyjokes. Устанавливается, как всегда, через pip.
Также есть отдельная категория с шутками Чака Норриса. Don't worry about tests, Chuck Norris's test cases cover your code too.
Photo unavailableShow in Telegram
Узнаем даты праздников с помощью Python
Установка модуля -
pip install holidays
В нашем примере мы узнаем все календарные праздники, отмечаемые в Великобритании.
Документацию пакета и другие его возможности можно найти здесь.Photo unavailableShow in Telegram
Определяем язык текста
В данном посте покажем, как с помощью библиотеки langdetect определить язык текстового фрагмента. Для начала необходимо поставить библиотеку - pip install langdetect.
Заметим, что код импортирован на питон из гугловской библиотеки language-detection, поэтому качество распознавания языка находится на уровне.
По умолчанию поддерживается 55 языков.
Photo unavailableShow in Telegram
Нелокальные переменные
Нелокальные переменные используются во вложенных функциях, локальная область видимости которых не определена. Это означает, что переменная может не находиться ни в локальной, ни в глобальной области.
Давайте на примере рассмотрим, как нелокальная переменная работает в Python.
Для этого нам понадобится ключевое слово nonlocal.
В приведенной выше программе есть вложенная функция inner(). Для создания нелокальной переменной мы используем ключевое слово nonlocal. Функция inner() определяется внутри функции outer().
Photo unavailableShow in Telegram
#вопросы_с_собеседований
Как правильно записать данные в файл? Что может пойти не так в ином случае?
Когда вы используете инструкцию open без контекстного менеджера и перед закрытием файла возникает какое-либо исключение, могут возникнуть проблемы с памятью. В таком случае файл будет повреждён.
Если вы используете инструкцию with для открытия файла и возникает проблема, Python гарантирует, что файл будет корректно закрыт.
Photo unavailableShow in Telegram
Метод items()
Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.
Photo unavailableShow in Telegram
Как узнать текущую директорию?
Чтобы узнать, в какой директории мы сейчас находимся, можно использовать метод getcwd() из модуля os module.
Photo unavailableShow in Telegram
Как прочитать файл объемом 8 ГБ на Python с помощью компьютера с 2 ГБ ОЗУ?
Это решение работает для любых больших файлов.
Когда вы открываете файл, всё, что вам нужно сделать, это использовать объект файла в качестве итератора: при циклическом просмотре этого объекта, вы будете извлекать по одной строке за раз, а предыдущие строки будут удалены из памяти.
Таким образом, файл никогда не будет полностью загружен в память, и ваша обработка будет выполняться на ходу.
Photo unavailableShow in Telegram
Сортировка словаря по значениям
С помощью приведенного выше фрагмента кода вы сможете с легкостью отсортировать свой словарь.
Photo unavailableShow in Telegram
Blanket — это приложение, написанное на Python, для воспроизведения различных фоновых шумов, которое повышает вашу продуктивность, помогая сосредоточиться.
Это приложение содержит звуки ветра, дождя, шторма, птиц, города, поезда, камина и т.п. Эти звуки постепенно добавляются в приложение и их можно смешивать, причём с разным уровнем громкости. Например, интересным получается микс ветра, волн и лодки.
https://github.com/rafaelmardojai/blanket/
Photo unavailableShow in Telegram
Метод str.swapcase()
Метод str.swapcase() возвращает копию строки str с прописными символами, преобразованными в строчные и наоборот.
Другими словами метод меняет регистр символов в строке str.
