№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Избегайте вложенных циклов с помощью product
Когда программа становится сложной, неизбежно приходится писать вложенные циклы. Однако вложенные циклы делают программы более сложными для чтения и сопровождения.
К счастью, в Python всегда можно избежать вложенных циклов с помощью встроенной функции product().
Например, у нас есть следующая программа, которая содержит трехуровневые вложенные циклы for.
Чтобы сделать код более аккуратным и чистым, мы можем использовать функцию product(), которая находится в модуле itertools, для оптимизации кода.
Копирование объектов
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать copy.copy()
, произойдет поверхностное копирование, т.е. создастся новый объект, но его ссылки на другие объекты будут те же.
Если же использовать copy.deepcopy()
, то получатся "настоящие" копии объекта и всех его ссылок.
Шуточный пакет pyjokes
Если в вашей крови течёт PEP, а дома вас ждёт домашняя змея в клетке, то и шутки вам нужны соответствующие. Вы всегда можете получить их с помощью модуля pyjokes. Устанавливается, как всегда, через pip.
Также есть отдельная категория с шутками Чака Норриса. Don't worry about tests, Chuck Norris's test cases cover your code too.
Узнаем даты праздников с помощью Python
Установка модуля - pip install holidays
В нашем примере мы узнаем все календарные праздники, отмечаемые в Великобритании.
Документацию пакета и другие его возможности можно найти здесь.
Определяем язык текста
В данном посте покажем, как с помощью библиотеки langdetect определить язык текстового фрагмента. Для начала необходимо поставить библиотеку - pip install langdetect.
Заметим, что код импортирован на питон из гугловской библиотеки language-detection, поэтому качество распознавания языка находится на уровне.
По умолчанию поддерживается 55 языков.
Нелокальные переменные
Нелокальные переменные используются во вложенных функциях, локальная область видимости которых не определена. Это означает, что переменная может не находиться ни в локальной, ни в глобальной области.
Давайте на примере рассмотрим, как нелокальная переменная работает в Python.
Для этого нам понадобится ключевое слово nonlocal.
В приведенной выше программе есть вложенная функция inner(). Для создания нелокальной переменной мы используем ключевое слово nonlocal. Функция inner() определяется внутри функции outer().
Метод items()
Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.
НЕ изи войти в айти! 😬
Тебя не бесят «гуру», которые обещают зп от 300к после двух недель на их легендарном курсе по Python за 150к? 😂 - Меня ДА!
Забудь про «развалить айти рыночек своим умищем»❌
Чтобы стать программистом, надо пропахать как чёрт за партой хотя бы годик!
А чтобы не свихнуться в одиночку, залетай в чат начинающих Python-щиков, где ты получишь:
1️⃣ Разбор сложных вопросов простым языком
2️⃣ Поддержку тех, кто тоже с 0 учит Python, и не боится показаться глупым
3️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
➡️А еще, в закрепе есть БЕСПЛАТНЫЙ вводный курс по Python, ну это так, к слову))
Короче, всё для прокачки! Залетай — ссылка на чат (тык)
Сортировка словаря по значениям
С помощью приведенного выше фрагмента кода вы сможете с легкостью отсортировать свой словарь.
Blanket — это приложение, написанное на Python, для воспроизведения различных фоновых шумов, которое повышает вашу продуктивность, помогая сосредоточиться.
Это приложение содержит звуки ветра, дождя, шторма, птиц, города, поезда, камина и т.п. Эти звуки постепенно добавляются в приложение и их можно смешивать, причём с разным уровнем громкости. Например, интересным получается микс ветра, волн и лодки.
https://github.com/rafaelmardojai/blanket/
5 полезных библиотек Python (с примерами)
Давайте посмотрим на 5 хороших развивающихся библиотек, которые могут помочь при решении практических задач.
Смотреть статью
Узнаем точное время с помощью Python
Все мы в детстве звонили по номеру 100 и узнавали точное время. Python позволяет сэкономить наши деньги и при помощи модуля time
выдает нам текущее время.
#вопросы_с_собеседований
В чем разница между append и extend?
Ответ:
append добавляет значения в список, а extend добавляет в список значения из другого списка.
Метод index()
Метод index - это встроенный метод списка, который позволяет узнать индекс или позицию элемента в последовательности.
Этот метод ищет элемент в списке и возвращает индекс, соответствующий его значению, в противном случае возникает ошибка ValueError.
💚 Авито запускает Weekend Offer для опытных DS-инженеров! Ускоренный отбор за выходные и возможность попасть в одну из пяти команд: автомодерация, монетизация, поисковое ранжирование, AI Lab и вертикальные команды DS.
Вас ждет:
— конкурентная зарплата и удаленка по всей России;
— реальные задачи на большом масштабе — разработка алгоритмов для проверки объявлений, внедрение ML-моделей, оптимизация процессов и DS-поддержка;
— участие в разработке новых продуктов — предлагаем для этого мощное железо и бюджет на обучение;
— сильное IT-комьюнити, которое любит опенсорс.
🚀Регистрируйтесь до 27 февраля и развивайте крупнейший в мире сервис объявлений: https://u.to/mDy6IQ
🌐Ваш код на Python работает, но мог бы работать лучше?
Вы уже пишете на Python, но ощущаете, что упираетесь в потолок? Код медленный, асинхронность пугает, архитектура трещит, а безопасность — отдельная головная боль?
Пора переходить на новый уровень. На повышении квалификации «Python Developer. Professional» вы освоите:
- Best Practices промышленной разработки — от паттернов до метапрограммирования
- Высокопроизводительный код — анализ, профилирование, оптимизация
- Масштабируемые веб-приложения — Django, FastAPI, RESTful API
- Data Science и машинное обучение — Pandas, NumPy, Matplotlib
Обучение ведут практикующие эксперты, а диплом OTUS востребован в крупных IT-компаниях.
Не поместилось:
👉Пройдите вступительное тестирование прямо сейчас и получите скидку на обучение: https://otus.pw/Puck/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Перемешиваем строку
Для того чтобы перемешать символы в строке вы можете воспользоваться методом random.sample().
🛡Готовы ли ваши данные к следующей хакерской атаке?
На открытом уроке «Комплексная кибербезопасность компании» вы узнаете, как защитить бизнес от утечек, штрафов и угроз.
Что вас ждёт:
— Многоуровневая защита: почему точечные решения больше не работают.
— Требования регуляторов и грядущие изменения.
— Как соблюдать стандарты ИБ уже сейчас и подготовиться к 2025 году.
Спикер Сергей Терешин — руководитель направления комплексной безопасности, обладатель множества сертификаций.
Встречаемся 19 февраля в 20:00 мск. Урок проходит перед стартом курса «Информационная безопасность. Professional», а участники получат скидку на обучение.
👉Не ждите, пока будет поздно! Узнайте, как обезопасить данные и избежать финансовых потерь. Регистрируйтесь: https://otus.pw/0qCm/?erid=2W5zFFz7jNQ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
📊 Бесплатный вебинар для тех, кто хочет освоить машинное обучение с нуля!
Присоединяйтесь к практическому уроку «Задача регрессии в ML на пальцах» от OTUS. В прямом эфире обсудим один из ключевых методов машинного обучения — регрессионный анализ.
На вебинаре вы:
- познакомитесь с таким классом задач, как регрессия
- детально изучите один из базовых алгоритмов машинного обучения — линейную регрессию
- научитесь применять линейную регрессию на практике
- сможете задать вопросы по Data Science
📅 Занятие пройдет 26 февраля в 20:00 мск. Все участники вебинара получат скидку на курс «Специализация Machine Learning»: С нуля до Middle ML инженера (Data Scientist) за 11 месяцев.
Успейте занять место на бесплатном вебинаре: https://otus.pw/4qV5/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Крутая программа для тех, кто уже работает с Linux и хочет погрузиться DevOps.
В двух словах: программа на 2 месяца, ты учишься, тебе еще и платят. Начинка: начинающий и продвинутый курс по Linux, погружение в DevOps. Обучение с практикой, лабораторными и под контролем экспертов из K2 Сloud.
Подробнее можно узнать на сайте
#вопросы_с_собеседований
Как правильно записать данные в файл? Что может пойти не так в ином случае?
Когда вы используете инструкцию open без контекстного менеджера и перед закрытием файла возникает какое-либо исключение, могут возникнуть проблемы с памятью. В таком случае файл будет повреждён.
Если вы используете инструкцию with для открытия файла и возникает проблема, Python гарантирует, что файл будет корректно закрыт.
Как узнать текущую директорию?
Чтобы узнать, в какой директории мы сейчас находимся, можно использовать метод getcwd() из модуля os module.
Как прочитать файл объемом 8 ГБ на Python с помощью компьютера с 2 ГБ ОЗУ?
Это решение работает для любых больших файлов.
Когда вы открываете файл, всё, что вам нужно сделать, это использовать объект файла в качестве итератора: при циклическом просмотре этого объекта, вы будете извлекать по одной строке за раз, а предыдущие строки будут удалены из памяти.
Таким образом, файл никогда не будет полностью загружен в память, и ваша обработка будет выполняться на ходу.
✉ Вам приглашение на митап в честь Дня рождения Python!
В четверг, 20 февраля, в 18:00 ждем вас в московском офисе Сбера на Python Birthday Meetup.
О чем поговорим:
🟢Лень как искусство, или зачем программисту LLM?
Никита Замулдинов из Сбера расскажет, как превратить искусственный интеллект в своего личного ассистента, делегировать скучные задачи и расширить собственные возможности. Вас ждут реальные кейсы и демонстрация AI-агентов в действии.
🟢Люблю и ненавижу Asyncio
Николай Хитров из Точки разберет новые и старые «грабли» Asyncio и расскажет о best practices его использования.
🟢От хаоса к порядку: Pydantic в борьбе с инцидентами безопасности
Александр Глазков из Сбера расскажет, как и почему Pydantic изменил жизнь команды, а также поделится тонкостями его использования.
А также в программе:
➡Нетворкинг, фуршет и подарки.
📍 Офлайн + онлайн
✅ Регистрация на мероприятие и подробности
Метод str.swapcase()
Метод str.swapcase() возвращает копию строки str с прописными символами, преобразованными в строчные и наоборот.
Другими словами метод меняет регистр символов в строке str.
Наткнулись на промо новой облачной конференции. Пошли подробнее узнавать, кто её организует — оказалось, это создатель первого в России публичного облака собственной разработки.
У ребят планируется много технических докладов: от обзоров новых типов сетевых дисков до приоритетов бизнеса в области ИТ — звучит интересно.
Подробнее можете посмотреть тут
Перечисления
Перечисление (enumeration) — это набор имён, привязанных к уникальным неизменным значениям. Python поддерживает работу с перечислениями, с их помощью удобно хранить списки констант.
Члены одного перечисления можно сравнивать, а также обходить с помощью циклов. Подробнее о перечислениях можно почитать в документации: https://docs.python.org/3/library/enum.html
Если у вас нет работы программистом, просто найдите её =)
Знаю, звучит как "если вы бездомный, просто купите себе дом", но реальность до скучного проста. Если офферов у вас нет, значит вы что-то делаете не так
Проблема в том, что с безликими отказами вы даже не понимаете, что именно вы делаете не так. Хорошие новости — ваши ошибки не уникальны, и есть человек, который совершил их до вас. Автор поста — тимлид, провёл и прошёл кучу собесов, получил гору офферов для себя и знакомых, а теперь поможет и вам
Я не "скиллбокс", и не обещаю, что будет просто. Я не говорю, что будет приятно. Но я обещаю, что взорву вам мозг и дам чёткий план как найти работу разработчиком за 3-6 месяцев
Вот канал, на котором всё будет происходить. Честно, до применения всего сказанного дойдут единицы. Но если вы готовы идти до конца, вы утрёте нос всем знакомым, что не верили в вас
Вот вам ссылка ещё раз, подписывайтесь, скоро стартуем
Узнаём версию Python
В пакете sys
присутствует переменная version_info
, которая хранит в себе версию Python, с помощью которого запущена программа.
Получение размера изображения
В следующей программе мы будем читать изображение, а затем распечатывать его размер, используя свойство size объекта Image.