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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
Используйте генераторы (generators) для создания итерируемых объектов с помощью функций

В этом примере мы определяем генератор fibonacci, который возвращает бесконечную последовательность чисел Фибоначчи. Ключевое слово yield используется для возврата значения из функции, при этом сохраняя состояние функции для следующего вызова. Затем мы используем цикл for и функцию enumerate, чтобы перебрать первые 10 чисел Фибоначчи из генератора.
Используйте декораторы для расширения функциональности функций

В этом примере мы определяем функцию-декоратор my_decorator, которая принимает функцию func в качестве аргумента и возвращает внутреннюю функцию wrapper. Функция wrapper вызывает функцию func, выполняя дополнительный код до и после вызова func. Затем мы используем декоратор my_decorator перед определением функции my_function, чтобы расширить ее функциональность.
Как анализировать массивы данных, и находить закономерности в цифрах? И как это может помочь бизнесу развиваться и находить новые перспективы? Об этом вы узнаете на курсе от 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 функция применяется к каждому элементу в итераторе.