Python School
94.4K subscribers
1.92K photos
5 videos
549 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official
Download Telegram
Не пропустите онлайн-встречу с опытным практиком из IT-сферы и академическим директором направления «Разработка информационных систем и приложений».

Приглашаем на вебинар «Дефицит на рынке разработки: что ищут работодатели, отклоняя сотни резюме? Как вам получить редкие навыки?»

Задайте свои вопросы и узнайте из первых уст:
- Какие важные скилы не найти на рынке днём с огнём?
- Какого разработчика ищут работодатели?
- Почему стоит учить Python?
- Какая роль в команде у Software Engineer?
- Насколько крутые штуки вы сможете создавать после двух лет обучения?
- В каких отраслях набирает силу спрос на сложные технологичные решения?

Расскажет Александр Долгов:
· CCO & Co-Founder в Skipp: проектирование, запуск и
сопровождение ИТ-проектов.
· 9 лет опыта в B2G и GR коммуникациях: сотрудничал с администрацией
президента РФ и правительством Москвы
· руководил направлением B2G в Skyeng

Ждём вас 5 августа (четверг) в 17:00 по МСК:
https://u.to/P6aBGw

Пожалуйста, регистрируйтесь заранее!
Примеры использования модуля os в Python (ч. 2)

os.path.join

Метод join позволяет вам совместить несколько путей при помощи присвоенного разделителя.

К примеру, в Windows, в роли разделителя выступает бэкслэш (косая черта, указывающая назад), однако в Linux функция разделителя присвоена косой черте, указывающей вперед (forward slash).

В данном примере мы совместили путь каталога и файла вместе, для получения рабочего пути. Обратите внимание на то, что метод join не указывает на то, какой результат в итоге вышел.
Научитесь организовывать процессы непрерывной интеграции и развёртывания приложения в облаке. Поймите, как перейти из разработки или системного администрирования в DevOps-инжиниринг. Участвуйте в онлайн-интенсиве: 🔜 https://clc.am/6MWR7A

✏️ Используйте шанс! Ждём в прямом эфире 9–11 августа, в 19:00 по московскому времени.

За 3 дня вы познакомитесь с методологией DevOps, разберёте все этапы переноса приложения в облако на примере «Тетриса» и получите базовые навыки для начала карьеры DevOps-инженера.

Какие знания нужны для занятий? Пригодятся базовые навыки: умение работать в командной строке и понимание Git (clone, push, pull).

🎁 Всем участникам интенсива дарим электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» от издательства «МИФ». А каждый, кто сдаст домашнюю работу, получит сертификат стоимостью 15 000 рублей на любой курс Skillbox.
Как обрабатывать исключения?

Обработка исключений в Пайтон – это очень просто. Потратим немного времени и напишем несколько примеров, которые их вызовут. Мы начнем с одной из самых элементарных проблем: деление на ноль.

Если мы обратимся к урокам элементарной математики, то вспомним, что на ноль делить нельзя. В Пайтоне данная операция вызовет ошибку, как мы можем видеть в примере выше. Чтобы поймать ошибку, мы завернем операцию в оператор try/except.
Создайте искусственный интеллект своими руками! Освойте новый язык программирования и прокачайте навыки. 9–11 августа, в 21:00 по московскому времени участвуйте в онлайн-интенсиве. Познакомитесь с технологиями машинного обучения и создадите чат-бота на Python.

Бесплатно!
Нужна только регистрация: 👉 https://clc.am/b1fWoQ.

✔️ Узнаете, что такое NLU и как компьютер понимает естественную речь.
✔️ Познакомитесь с основами программирования на Python.
✔️ Разберёте архитектуру «умных» чат-ботов.
✔️ Создадите чат-бота, научите его говорить и подключите к Telegram.

🎁 Все участники получат электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» от издательства «МИФ». А те, кто сдаст домашнее задание, — сертификаты на 15 000 рублей. Их можно будет потратить на любой курс образовательной платформы Skillbox!
Класс collections.deque

Класс deque реализует двухконечную очередь, которая поддерживает добавление и удаление элементов с обоих концов в течение О(1) времени.

Объекты deque представлены в виде двусвязных списков, что дает им превосходную производительность для входящих и выходящих элементов, но при этом у него плохая производительность O(n) при работе со случайно принимаемыми элементами в середине очереди.

В связи с тем, что deque поддерживает вставку и удаление элементов одинаково хорошо, они могут поддерживать и очереди и стеки. collections.deque это отличное решение, если вы ищите структуру данных очереди в Python в стандартной библиотеке.
вы знали, что в США есть музей «Титаника»? Посетители получают билеты на лайнер с именами реальных пассажиров или членов экипажа. Но как сложилась судьба человека, станет известно только в конце экскурсии.

Elbrus Bootcamp организовал собственное путешествие на «Титанике» – Data Science Intense 🚢

Маршрут состоит из 8 занятий, после которых вы будете готовы к поступлению в Data Science Bootcamp и сможете оценить шансы на выживание Джека Доусона с помощью машинного обучения.

Отправляемся в путь во вторник, 17.08, в 20:00 по мск 🌊

Зарегистрироваться можно по ссылке: https://clck.ru/WiEAr

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

Плюсы интенсива:

🔹Занятия проводятся в режиме реального времени с ментором.
🔹Записи уроков для тех, кто не может присутствовать онлайн.
🔹На каждом занятии разбор теории + практические задания.
🔹Домашние задания для закрепления материала.
🔹Обратная связь от ментора по всем заданиям.

Мини-курс подойдет новичкам, специалистам смежных профессий и тем, кто хочет углубить знания по анализу данных на языке Python.

Присоединяйтесь к интенсиву, нашему «Титанику» айсберги не страшны!
Простая обрезка изображения в Pillow

Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).

Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.

Не забудьте, что box используется вместе со скобками ().
Разбираем модуль sys.executable
sys.executable - путь к интерпретатору Python.

Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах, данная команда не сработает, и выдаст пустую строку с надписью None.
Учиться самостоятельно программированию очень тяжело. Уходит много времени, сил и не всегда понятно, какая информация действительно актуальна и полезна

Лайфхак: в онлайн-университете Skypro обучают Python с нуля и на пальцах — так, что даже далекий от кода человек все поймет. Сейчас ребята набирают новый поток на десятимесячный курс «Разработчик на Python». Это востребованный язык, который отлично подходит для новичков. За десять месяцев из вас сделают уверенного junior-разработчика и помогут устроиться на работу с зарплатой от 80.000р. После обучения вы сможете создавать сайты, игры, мобильные и десктопные приложения. Покажете работодателю портфолио и официальный диплом как в вузе.

+ Все обучение — в онлайне. Да еще и приложение свое сделали, можно учиться в любой точке мира, в любое время, даже с телефона
+ Индивидуальная проверка домашки и глубокая, развивающая обратная связь
+ Практика на реальных задачах разработчиков
+ Четыре проекта в портфолио, диплом о профессиональной переподготовке и помощь с трудоустройством
Если курс вам не зайдет первые две недели — вам вернут деньги.
Запись на курс и бесплатную консультацию с менеджером: https://go.skyeng.ru/python_school_skypro

И еще наш промокод УЧИСЬ на дополнительную скидку 10% на этот курс
Показатели производительности

Мы можем быстро убедиться, что функция действительно возвращает плоский словарь, но как насчет производительности? Будет ли хорошей идеей использовать этот подход в продакшен-среде? Давайте запустим быстрый замер показателей скорости.

Здесь и во всех дальнейших замерах производительности мы будем пользоваться магической функцией IPython — timeit, а также memit из библиотеки memory_profiler.

P.S. Чтобы функция %memit заработала, сперва нужно запустить %load_ext memory_profiler.
Если вы хотите узнать, что реально происходит на работе в Тинькофф — посмотрите их смешной сериал.

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

Сюжет сериала интересный: внутри компании Тинькофф хотят снять фильм о сотрудниках и пригласили для этого актёров. Актёры знакомятся с сотрудниками, чтобы вжиться в роль. Они общаются, шутят и проживают рабочую жизнь вместе с сотрудниками.

Уже ждем продолжение. Ну а для тех, кто хочет поработать в Тинькофф есть актуальные вакансии: https://bit.ly/37wunHH
Делаем многоуровневый словарь плоским при помощи собственной рекурсивной функции

Быстрый поиск в Google приводит нас на StackOverflow. Первый же ответ предлагает рекурсивную функцию, которая перебирает словарь и возвращает «уплощенный» экземпляр. Вдохновившись этой функцией, давайте создадим немного более продвинутую версию.

Можем начать с type hinting (явного указания типов). Это улучшит читаемость и сделает код типобезопасным.
Давно задумываетесь об интересной карьере в сфере IT? Хотите узнать, как с помощью data-аналитики повышать эффективность бизнеса? Познакомьтесь с основами обработки и анализа данных на онлайн-занятиях Skillbox: 👉 https://clc.am/4Z6xlQ.

📢 Встречаемся в прямом эфире 16 августа в 21:00 по московскому времени!

Чему вы научитесь?

💫 Применять язык программирования Python для data-аналитики.
💫 Восстанавливать недостающие данные.
💫 Находить аномалии в данных.
💫 Использовать актуальные библиотеки.
💫 Решать реальные задачи, с которыми сталкивается Data Scientist.


🏆 Все участники, дошедшие до финала интенсива, получат в подарок электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» от издательства МИФ. А те, кто сдаст домашнее задание, — сертификаты на 15 000 рублей для поступления на любой курс Skillbox.
Метод items()

Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.

Синтаксис:dictionary.items()

Данный метод не принимает никаких аргументов.

Приведем пример использования данной функции.

Объявлен словарь с именем products. Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist, а затем выведем на экран.
Как быстро выучить Python

В прошлом посте мы рассказали про полезные ресурсы и сервисы, с помощью которых можно выучить Python.

Но кто-то учит Python 3 года, а кто-то справляется за пару месяцев. А всё потому что Python надо учить правильно.

Поэтому собрали для вас подборку материалов, в которых авторы делятся своим опытом, секретами, фишками и лайфхаками для быстрого изучения Python. Дерзайте.

1. Как выучить Python. Самый простой способ. [Cмотреть]

2. План изучения Python с нуля. [Смотреть]

3. Как быстро выучить Python. [Смотреть]

4. 5 лучших советов, которые помогут правильно выучить Python. [Смотреть]

5. Как за месяц выучить Python. [Смотреть]

6. Учим Python за 1 час. [Смотреть]
Распаковываем многоуровневый словарь, используя библиотеку flatdict (ч.1)

flatdict — это библиотека Python, создающая из вложенного словаря одноуровневый. Она доступна в Python 3.5 и выше.

Пока мы увидели, что написание собственных решений — не идеальный вариант, но и использование полнофункциональной библиотеки вроде pandas лишь для распаковки словаря — тоже не предел мечтаний.
Дата саентисты, работающие с нейросетями, часто сталкиваются с недостатком данных для обучения. Классический выход из положения — провести transfer learning при помощи finetuning — обладает досадным свойством катастрофического забывания.

На demo-занятии OTUS 24 августа вы разберете метод перемежающейся тренировки, позволяющий избежать переобучения на маленьком датасете.

Вебинар проведет Дмитрий Хизбуллин, тимлид в исследовательском центре Huawei. Это возможность познакомиться с преподавателем и материалам онлайн-курса «Deep Learning. Basic».

Для регистрации пройдите вступительный тест: https://otus.pw/YJNN/
Что такое метаклассы — короткий обзор

Предположим, что вы знаете разницу между классами и объектами. Тогда метаклассы не должны быть для вас слишком уж сложными. Если кратко, то они являются классами для классов (отсюда и «мета» в их названии).

Проще говоря, в то время как классы являются чертежами для объектов, метаклассы являются чертежами для классов. Класс является описанием, когда мы создаем его экземпляр, тогда как метакласс является описанием класса, и существует только когда определен класс.

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