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

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

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

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
Download Telegram
Где прокачивать навыки Python-разработки специалистам с опытом? ? OTUS приглашает на открытые уроки онлайн-курса «Python Developer. Professional». Вебинары проведет Станислав Ступников, программист рекламной системы в Mail.Ru.

🗓 17 августа — «Чистая архитектура в Python разработке»
Обсудим применимость в мире разработки на Python чистой архитектуры (clean acrhitecture): как разделение приложения на слои и следование несложному набору правил позволяет получить тестируемое приложение со всеми вытекающими преимуществами.

👉🏻 Пройдите вступительный тест для записи на урок — https://otus.pw/WDmP/

🗓 23 августа — «Secure Python»
Проведем обзор распространенных проблем, связанных с безопасностью Python приложений: десериализация, инъекции, сторонние библиотеки и т.д.

👉🏻 Пройдите вступительный тест для записи на урок — https://otus.pw/sAel/
Выражения-генераторы — это синтаксис

Похожий на синтаксис представления списка (list comprehension), который позволяет нам создать объект-генератор.

Допустим, у нас есть представление-списка, который фильтрует пустые строки из файла и удаляет переход на новую строку в конце \n:
Выражения-генераторы — это синтаксис

Похожий на синтаксис представления списка (list comprehension), который позволяет нам создать объект-генератор.

Допустим, у нас есть представление-списка, который фильтрует пустые строки из файла и удаляет переход на новую строку в конце \n:
Функции-генераторы

Они отличаются от обычных функций тем, что в них есть один или несколько операторов yield
Что такое парсинг и как с ним работать? Расскажем на бесплатном онлайн-интенсиве по работе с Python, который проводит образовательная платформа Skillbox.

Подробная программа: ✌️ https://clc.to/bEg7mQ

Каждому зарегистрированному участнику вышлем на почту полезные материалы «Как запустить Python офлайн и онлайн: руководство для новичка».

Интенсив пройдёт с 22 по 24 августа в 21:00 по московскому времени.

Спикер — Михаил Овчинников. 15 лет работает в сфере IT — от стартапов до крупных компаний.

Вы познакомитесь с основами программирования на Python и создадите первую программу. Напишете парсер данных, который будет собирать информацию в сети по вашим запросам и присылать уведомления в Telegram. Узнаете, сколько зарабатывает Python-разработчик.

Всем, кто дойдёт до конца интенсива, подарим электронную книгу «Человек + машина» Пола Доэрти и Джеймса Уилсона. Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.
Генераторы

Простой способ создания итератора.
Самый простой способ создания собственных итераторов в Python — это создание генератора.

В Python есть два способа создания генераторов.
Объектно-ориентированный итератор могут экономить панять

Процессорное время и открывать для нас новые возможности.

Давайте создадим свои собственные итераторы. Для начала мы «изобретем» заново объект итератора itertools.count.
Многострочные комментарии

Некоторые языки программирования, к примеру С++, предоставляют возможность создания многострочных комментариев. Для создания многострочных комментариях вы спокойно можете использовать тройные кавычки.
Создайте погодный бот и бот-генератор паролей за 3 дня на бесплатном интенсиве

Бесплатный интенсив — это возможность протестировать профессию «Разработчик на Python» и решить, подходит ли она вам.

За три дня вы:
— научитесь писать телеграм-боты и программировать на Python;
изучите запросы рынка и требования работодателей c высокими зарплатами;
— создадите два телеграм-бота по «отслеживание погоды» и телеграм-бота «генератор паролей»
— А еще сможете выиграть призы за выполнение домашних заданий на сумму более 500 000 рублей

🔹Станьте на три дня разработчиком на Python
запишитесь на интенсив — https://clc.to/N4ZW8g

🎁Подарок за регистрацию — карьерный гид с 30+ лайфхаками по освоению профессии разработчика.
%pinfo

Предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?.

В следующем фрагменте я указал простую строку “a” вместе с %pinfo, чтобы получить подробную информацию о ней.
%matplotlib inline — это самая популярная магическая команда

Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.
Выполнение html-скрипта в ячейке

%% html позволяет нам писать html-код.
Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.

Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
Обмен переменными между блокнотами

Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.
Топ 3 ресурса для быстрого изучения Python

Изучить Python не сложнее, чем выучить инглиш. Нужно лишь немного упорства, Гугла и правильных материалов для обучения. Поэтому вот топ-3 ресурса для быстрого изучение Python.

1. Code Academy — тут есть всё самое необходимое для новичков. Общий синтаксис языка, строки, условия, списки и словари — самое то для начинающих.

2. TutorialsPoint — руководство для новичков, где вы пройдете путь от "да не понимаю я этот Python" до просветленного гуру программирования.

3. Codingame — всё просто: играем и учим Python. Уничтожаем космические корабли и создаем алгоритмы для управления персонажами. В общем, однозначно стоит сыграть.
Можно разбить строки в список

В этом случае разбиение происходит по символу пробела

Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().

Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
JMESpath – это язык запросов для JSON

Который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
Можно разбить строки в список

В этом случае разбиение происходит по символу пробела

Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().

Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
Возврат нескольких значений

Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).

Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data)
Красивый вывод списка с помощью print

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

Метод join преобразовывает список в строку, рассматривая каждый элемент как строку. Разделителем является та строка, для которой был вызван join. Он достаточно умен, чтобы не вставлять разделитель после последнего элемента.

Дополнительный бонус: join работает линейное время. Никогда не создавайте строку складыванием элементов списка в цикле for: это не просто некрасиво, это занимает квадратичное время
__repr__

Метод repr() позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод str() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.
Генераторы списков очень классная особенность

Ещё одна классная особенность Python, дающая возможность быстро создавать списки. Такие выражения позволяют легко писать чистый код, который читается почти как естественный язык