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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
Разделение списка на «N» групп

Пользователи могут использовать функцию iter() в качестве итератора над последовательностью. В коде мы использовали «[iter(LIST_1)] * 2», который произвел разные группы, содержащие два элемента списка «LIST_1 []». То есть списки длины 2 будут сгенерированы с использованием элементов из первого списка.
Привет! Меня зовут Игорь, и я не понаслышке знаком с сомнениями и страхами, которые появляются вместе с решением радикально сменить карьеру. В 24 года я решил перебраться из гуманитарной сферы в IT, и на этот переход у меня ушло 2 года, и ещё несколько лет интенсивной прокачки в процессе работы. Поставив себе план разобраться в том, как устроена разработка сайтов и приложений, я вложил немало времени на несистемное погружение в тему.

Чтобы помочь избежать подобных ошибок, мы в Skillbox запустили бесплатный курс «Введение в программирование», на котором расскажем, чем занимаются разработчики, тестировщики, дата-сайентисты, и какие задачи решают.

Если вы или кто-то из ваших близких стремится в IT, но пока не знает, что это за «тёмный лес» и к какой профессии у него лежит душа, — этот курс снимет тревогу, даст ясность и решимость.

Все подробности по ссылке: https://clc.to/jj4Udg
Скидки до 55% на курсы и профессии.
Отладка программы в командной строке

Если вы — из тех, кто не хочет пользоваться IDE и пишет код в Vim или Emacs, тогда вы, возможно, попадали в ситуацию, когда вам пригодился бы отладчик, вроде тех, что есть в IDE. И знаете что? У вас такой отладчик уже есть. Для того чтобы им воспользоваться, достаточно запустить программу с помощью конструкции вида python3.8 -i. Флаг -i позволяет, после завершения программы, запустить интерактивную оболочку. С её помощью можно исследовать переменные и вызывать функции.
Транспонирование матриц

В Python пользователь может реализовать матрицу как вложенный список, что означает список внутри списка. Каждый элемент списка рассматривается как строка матрицы.
Хотите попробовать силы в Data Science? Пройдите бесплатный онлайн-интенсив по обработке и анализу данных с 16 по 18 января. Начало прямых трансляций — в 19:00 по московскому времени.

Записывайтесь: 👉 https://clc.to/GUoioA
Кому полезен интенсив:

📌 Интересующимся новичкам. Узнаете, с чем сталкиваются в работе специалисты по данным. Решите несколько реальных задач и поймёте, интересна ли вам эта профессия.
📌 Начинающим специалистам. Научитесь применять Python для построения статистических моделей. Поработаете с библиотеками Pandas и Matplotlib. Разберёте несколько практических заданий и повысите свой уровень.

💬 Спикер интенсива — руководитель направления по исследованию данных в Сбере с семилетним опытом в программировании Анастасия Борнева.

🎁 Участвуйте, задавайте вопросы и получите сертификат на скидку 10 000 рублей на любой курс Skillbox.

Присоединяйтесь!
Метод __init__

Метод init вызывается после того, как инстанцирован объект класса. Этот метод полезен для выполнения любой запланированной вами инициализации. Метод init аналогичен конструктору в C++, C# и Java.
Создание объектов, поддерживающих выражение with

Этот способ легче предыдущего. Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
Объявление нескольких конструкторов в классе

В подобной ситуации вы, вместо использования методов класса, можете склониться к тому, чтобы поместить всю логику альтернативных конструкторов в init и решить задачу с использованием *args, **kwargs и множества выражений if. В результате может получиться рабочий код, но этот код будет тяжело читать и поддерживать. Тут я порекомендовал бы поместить минимум логики в init и выполнить все операции в отдельных методах/конструкторах. При таком подходе в нашем распоряжении окажется чистый код, с которым удобно будет работать и автору этого кода, и тому, кто этим кодом будет пользоваться.
Управление тем, что может быть импортировано из модуля, а что — нет

Тут будет экспортирована будет лишь функция bar. А если оставить атрибут all пустым, то из модуля не будет экспортироваться вообще ничего. При попытке импорта чего-либо из такого модуля будет выдана ошибка AttributeError.
Очистка входных строковых данных

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

Здесь можно видеть, как пробельные символы "n" и "t" заменяются на обычные пробелы, и как символ "r" удаляется из строки полностью.

Это — простой пример, но мы можем его расширить, создавая большие таблицы переназначения символов с использованием пакета unicodedata и его функции combining().

Такой подход позволяет убирать из строк всё то, что там не нужно.
Тип данных SET

Тип данных «set» — это своего рода коллекция. Она стала частью Python, начиная с версии 2.4. Множество содержит неупорядоченную коллекцию уникальных и неизменяемых объектов. Это один из типов данных Python, реализующих множества из мира математики. Множества, в отличие от списков или кортежей, не могут содержать дублей.

Если вы хотите создать множество, просто используйте встроенную функцию set() с последовательностью или другими итерируемыми объектами в качестве аргументов.
🍆 SQL теперь в телеграм!

SQL — главный язык программирования баз данных. Базы данных есть везде: от маленького интернет-магазина до социальной сети. Знание SQL очень важно для любого программиста! Его будет легко выучить, если подписаться на официальный русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование функции enumerate()

Функция enumerate() добавляет счетчик в итерируемый объект, в котором используется метод iter , возвращающий итератор. Он может принимать последовательные значения индекса, начиная с нуля. И выдаёт ошибку IndexError, когда индексы больше недействительны.

Типичный пример использования функции enumerate() — создание цикла по списку с отслеживанием индекса. Для этого можно использовать переменную в качестве счетчика. Но функция enumerate() позволяет сделать то же самое намного удобнее.
xkcd

Юмор — это визитная карточка языка Python. В конце концов, его и назвали в честь британского комедийного скетча Монти Пайтон: Летающий цирк. Львиная доля официальной документации по Python имеет отсылки к самым известным скетчам шоу.

Но чувство юмора не ограничивается одной лишь документацией.
Weekend Offer для Go- и Python-разработчиков

Получите возможность попасть в одну из команд VK Cloud – VDI, Логирование и алертинг, ML Platform, Платформа данных, IAM, IaaS Network, Платформа для разработки, Биллинг и тарификация. Вместе с командой профессионалов вам предстоит решать нестандартные задачи, создавать действительно полезные и важные сервисы.

Чтобы попасть в VK Cloud, отправьте отклик по ссылке с 17 по 26 января. Там же можно подробнее узнать о каждой команде, а уже 28 января техлиды расскажут о задачах, которые вам предстоит решать, а далее проведут индивидуальные технические онлайн-собеседования. 29 января на финальном собеседовании можно пообщаться с понравившейся командой. Удачи!
Просмотр атрибутов и методов класса

С помощью функции dir() можно посмотреть список атрибутов и методов ‌‎любого‌‎ ‌‎объекта. Ее удобно использовать при работе в интерпретаторе, особенно при изучении пакетов сторонних разработчиков.
Смешивание математики с дробями

В последнем примере мы принесем некоторые функции из математической библиотеки и смешаем их с дробными представлениями.
Округление дробей

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

Можно получить только числитель или знаменатель дроби.
locals() внутри метода

locals() внутри функции возвращает локальную переменную, обратите внимание, что глобальные переменные являются частью глобального словаря таблицы символов.