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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
Как анализировать массивы данных, и находить закономерности в цифрах? И как это может помочь бизнесу развиваться и находить новые перспективы? Об этом вы узнаете на курсе от Skillbox «Аналитик данных с нуля».
Бесплатный доступ к первым 3 модулям!

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


Для первых 20 участников мы подготовили приятную скидку на весь курс! Также есть возможность оплатить обучение в рассрочку.
В подарок вы получаете курс по созданию эффектных презентаций PowerPoint!
А также помощь в трудоустройстве от Центра карьеры Skillbox.

Регистрация по ссылке: https://epic.st/ihe9i
Используйте генераторы (generators) для создания итераторов, которые можно перебирать только один раз

В этом примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, а не прекращения выполнения функции, как это происходит с return. Затем мы используем цикл for для перебора элементов генератора squares.
Используйте модуль itertools для создания итераторов и комбинаций

В этом примере мы используем модуль itertools, чтобы создать все возможные комбинации двух элементов из списка numbers. Функция combinations возвращает итератор, который можно перебирать с помощью цикла for.
Используйте модуль collections для работы со специальными типами данных, такими как defaultdict и Counter

В этом примере мы используем модуль collections для создания словаря word_counts, который хранит количество вхождений каждого слова в списке words. Мы также используем класс Counter для создания объекта letter_counts, который хранит количество вхождений каждого символа в строке 'banana'.
Вам нравится находить баги и искать ошибки в коде? Попробуйте себя в разных направлениях тестирования на бесплатном онлайн-интенсиве Skillbox. Подключайтесь к прямому эфиру с 17 по 19 апреля в 15:00 по московскому времени: 👉 https://epic.st/Iehs_S

Что будет:

📎 знакомство с профессией;
📎 изучение основ и ключевых инструментов тестирования;
📎 проведение первых тестов.

Если вы начинающий тестировщик:

📍 структурируете знания, изучите правила юзабилити и стандарты тестирования в крупных IT-компаниях;
📍 научитесь проверять сервисы на баги через API с помощью инструмента Postman.

Спикер интенсива — старший специалист по тестированию, организатор тест-сессий, митапов по тестированию и мастер-классов, участник конференций SQA-days, TechTrain и CodeFest Дмитрий Якин.

🎁 Участвуйте и прокачайте знания. Получите в подарок электронную книгу издательства МИФ и сертификат на скидку 10 000 рублей на любой курс Skillbox.
Используйте модуль functools для функционального программирования

Модуль functools содержит несколько функций для функционального программирования, таких как reduce, partial, cached_property и другие. Например, reduce применяет функцию к элементам последовательности, последовательно сокращая ее до одного значения, partial позволяет частично применять аргументы к функции, возвращая новую функцию, которая ожидает оставшиеся аргументы.
Используйте модуль asyncio для асинхронного программирования

Модуль asyncio предоставляет инструменты для асинхронного программирования в Python, такие как корутины, событийный цикл и другие. Асинхронное программирование позволяет выполнять несколько задач параллельно, не блокируя основной поток выполнения. Например, с помощью asyncio можно создать асинхронные серверы и клиенты, выполнять HTTP-запросы, обрабатывать сигналы и т.д.
Используйте модуль multiprocessing для многопроцессорного программирования

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

В этом примере мы используем модуль contextlib для создания контекстного менеджера. Контекстный менеджер - это объект, который используется для управления контекстом выполнения определенного участка кода. Для создания контекстного менеджера мы определяем функцию my_context, которая возвращает генератор, использующий ключевое слово yield. Мы вызываем наш контекстный менеджер с помощью определенного ключевого слова.
Используйте встроенные функции и модули для ускорения разработки и упрощения кода

Python предоставляет множество встроенных функций и модулей, которые упрощают работу с файлами, базами данных, сетевыми протоколами и другими задачами. Например, для чтения и записи файлов можно использовать функции open, read и write, а для работы с базами данных можно использовать модуль sqlite3.
Используйте функции высшего порядка для создания более красивого и гибкого кода

Функции высшего порядка - это функции, которые принимают другие функции в качестве аргументов и/или возвращают другие функции в качестве результата. Такие функции позволяют создавать более красивый и гибкий код, который легко расширять и изменять. Например, можно создать функцию, которая принимает другую функцию в качестве аргумента и применяет ее ко всем элементам списка.
Используйте многопоточность для ускорения выполнения задач

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

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

К счастью, в Python всегда можно избежать вложенных циклов с помощью встроенной функции product().
Оператор морж

Начиная с Python 3.8, появился новый синтаксис под названием «оператор морж» или walrus operator, который может присваивать значения переменным как часть более крупного выражения.

Оператор := получил свое милое название из-за глаз и бивней моржа.
Самый легкий способ мерджить словари

Слияние словарей - частое действие в программировании на Python. Существует множество способов сделать это. Но все они были уродливы до версии Python 3.9.

Начиная с Python 3.9, мы наконец-то получили самый элегантный способ объединения словарей - использование операторов объединения.
Используем * для мерджа списка, кортежа и множества в одну строчку

Звездочки можно использовать в качестве префиксов для распаковки их элементов. Но помимо распаковки, звездочки также можно использовать для деструктуризации присваиваний в Python. С помощью одной звездочки переменная mid получает элементы в середине в виде списка.
ТРЕБУЮТСЯ ПРОГРАММИСТЫ для работы в международных компаниях!  

Обучение с 0 в удобном  формате: 
offline-обучение в группах до 16 человек (филиалы в 200+ городах России);
online-обучение с живыми преподавателями (а не говорящими головами). 

Компьютерная академия TOП — это: 

актуальная программа обучения, с которой вы станете профессионалом, даже если до этого не слышали о программировании;

– практика и реальные навыки;

дружелюбная атмосфера и обучение с элементами геймификации; 

готовое портфолио и возможность найти работу еще до окончания обучения;

ГАРАНТИРОВАННОЕ ТРУДОУСТРОЙСТВО (или возврат‼️денег за обучение). 

💡 Студентов академии ждут в Яндексе, Сбербанке, 2Гис, Microsoft и других компаниях, куда нелегко устроиться и после 6 лет университета! 

💰 Средняя зарплата при первом трудоустройстве — 60 000 рублей

Стать крутым программистом может каждый! Академия TOП это доказала. 

ОСТАВЬТЕ заявку и получите бонусы:
👉 https://bit.ly/41bhdda
Используем встроенные функции в Python для написания стандартной логики

В Python есть несколько встроенных функций, которые помогают при написании некоторых стандартных логических операций.

Например, функция map() - известная и часто используемая функция. Она получает два параметра, один из которых - функция, а другой - итератор. При выполнении функции map функция применяется к каждому элементу в итераторе.
Давно хотели попробовать свои силы в программировании и понять, ваше ли это? Отлично! Практический мини-курс по Python как раз для тех, кто хочет познакомиться сразу с несколькими направлениями Python-разработки и решить, что нравится больше 😉

Зарегистрируйтесь сейчас, получите гайд по профессии и узнайте, почему Python — идеальный язык для новичка: https://epic.st/f2eghe

Много практики не бывает. Погрузитесь в мир Python-разработки вместе с руководителем направления по исследованию данных в Сбере — Анастасией Борневой:
— создадите бота для Telegram, который умеет переводить голос в текст;
— «научите» бота обрабатывать фотографии;
— познакомитесь с парсингом данных;
— напишете сайт с помощью фреймворка Flask — инструмента, который помогает быстро создавать любые проекты: интернет-магазины, социальные сети, образовательные платформы и т. д.

После просмотра видеоматериалов вас ждёт онлайн-встреча со спикером. В прямом эфире вы сможете обсудить практические работы и задать вопросы о профессии.

Все участники буткемпа получат сертификат на скидку 10 000 рублей на любой курс Skillbox и электронную книгу издательства МИФ «Разум под контролем». Ах, да, самое важное — бессрочный доступ! Материалы курса будут доступны вам всегда — сможете вернуться к ним в любое время.

Участвуйте!
Валидные значения словаря

В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.