uz
Feedback
Python академия

Python академия

Kanalga Telegram’da o‘tish

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Ko'proq ko'rsatish
7 293
Obunachilar
+124 soatlar
-97 kunlar
-4030 kunlar
Postlar arxiv
Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интер
Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат. Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее. Подписывайтесь на канал 👉@pythonofff

Свап значений переменных. Бывают ситуации, когда нужно поменять значения переменных местами. И чтобы не захламлять код времен
Свап значений переменных. Бывают ситуации, когда нужно поменять значения переменных местами. И чтобы не захламлять код временными переменными, можно воспользоваться данным способом (внимание на 16 строку). Посмотреть пример в онлайн редакторе. Подписывайтесь на канал 👉@pythonofff

Функции all и any. Названия этих функций говорят сами за себя. Функция all проверяет все ли элементы последовательности истин
Функции all и any. Названия этих функций говорят сами за себя. Функция all проверяет все ли элементы последовательности истинны. А функция any проверяет наличие хотя бы одной истинны. Подписывайтесь на канал 👉@pythonofff

+1 в копилку годных каналов про Python С @python_practics освоишь Python гораздо проще: 📌 полезные сниппеты кода для твоих задач 📌 теория Python понятным языком с примерами 📌 вопросы из собеседований 📌 бесплатные книги и курсы по Python 📌 тесты и опросы для тех, кто не запоминает сухую инфу

Функция zip Функция zip создаёт итератор, который комбинирует элементы нескольких списков. Это позволяет осуществлять паралле
Функция zip Функция zip создаёт итератор, который комбинирует элементы нескольких списков. Это позволяет осуществлять параллельный обход списков в циклах for или, например, выполнять параллельную сортировку. Подписывайтесь на канал 👉@pythonofff

Получаем срез из бесконечного генератора Допустим, мы хотим получить какой-то конечный список элементов из бесконечного генер
Получаем срез из бесконечного генератора Допустим, мы хотим получить какой-то конечный список элементов из бесконечного генератора. Что нам для этого понадобится? Для начала создадим сам генератор fib, уже немного знакомый вам по посту, где мы использовали lru_cache, правда там была рекурсивная функция. Этот генератор позволяет (за неимением другого слова) "генерировать" числа из последовательности Фибоначчи. Чтобы получить желаемый срез, импортируем модуль itertools, в котором уже есть удобная функция islice, позволяющая осуществить срез генератора fib. Подписывайтесь на канал 👉@pythonofff

Нахождение наиболее частых элементов списка Если необходимо найти несколько наиболее часто повторяющихся значений, лучше восп
Нахождение наиболее частых элементов списка Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком Counter из библиотеки collections. Метод Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений. Подписывайтесь на канал 👉@pythonofff

Списковые включения. В python можно заменить громоздкие циклы, которые используются для заполнения списков. Самый простой при
Списковые включения. В python можно заменить громоздкие циклы, которые используются для заполнения списков. Самый простой пример использования списковых включений представлен в первом примере. В примере 2 показано как можно добавить немного математики. Вы даже можете использовать свои функции, как в примере 3. Ну и куда без условного оператора? Посмотреть пример в онлайн редакторе. Подписывайтесь на канал 👉@pythonofff

Сортировка словаря по значениям Сортировка данных словаря по значениям ключей, а не по самим ключам, нередко ставит в тупик.
Сортировка словаря по значениям Сортировка данных словаря по значениям ключей, а не по самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи аргумента key функции sorted для указания функции, которая будет вызываться на каждом элементе до сравнения. Подписывайтесь на канал 👉@pythonofff

Форматирование строк Привет, в этом посте разберем возможные в Python методы форматирования строк. Все примеры использования
Форматирование строк Привет, в этом посте разберем возможные в Python методы форматирования строк. Все примеры использования можете посмотреть на прикрепленной ниже картинке. Самый древний и уже редко используемый способ – с помощью оператора %. Написание %s и %d зависит от того, что мы туда передаем и что хотим увидеть в итоге, но это уже тема отдельного поста. В Python 2.6 появился метод .format() с немного отличающимся синтаксисом от существующего оператора %. К слову, этот метод активно используется и по сей день, в отличии от его предшественника. Начиная с версии Python 3.6, доступны f-строки – свежий и наиболее производительный способ форматирования строк. Подписывайтесь на канал 👉@pythonofff

Немного про цифры и юникод 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – не единственные символы, которые считаются цифрами. Python следует
Немного про цифры и юникод 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры, полный список вот здесь. Это влияет на такие функции, как int, unicode.isdecimal и даже re.match. Предупрежден – значит вооружен. Подписывайтесь на канал 👉@pythonofff

Дизассемблирование Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python. На картинке п
Дизассемблирование Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python. На картинке показана работа этого модуля на примере функции, но такое можно повторить и с классами – в таком случае все его функции будут дизассемблированы. Подписывайтесь на канал 👉@pythonofff

Как легко отсортировать объект по нескольким ключам? Перед нами стоит задача отсортировать список машин. Но сделать это нужно
Как легко отсортировать объект по нескольким ключам? Перед нами стоит задача отсортировать список машин. Но сделать это нужно не просто по названию бренда или году производства, а сразу по обоим полям. Решить эту задачу можно очень просто с помощью operator.itemgetter(). В результате все бренды сгруппированы и отсортированы по возрасту. Подписывайтесь на канал 👉@pythonofff

Pyperclip Модуль pyperclip имеет функции copy() и paste(), которые позволяют отправлять текст в буфер обмена вашего компьютер
Pyperclip Модуль pyperclip имеет функции copy() и paste(), которые позволяют отправлять текст в буфер обмена вашего компьютера и получать его оттуда. Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную. Установить этот модуль можно привычным способом через пакетный менеджер pip. Подписывайтесь на канал 👉@pythonofff

Метод get для словарей У словарей есть метод get, который возвращает значение по ключу, переданному в аргументах функции. Одн
Метод get для словарей У словарей есть метод get, который возвращает значение по ключу, переданному в аргументах функции. Однако если такого ключа в словаре нет, то исключение не выбрасывается, а возвращается значение по умолчанию, которое передаётся вторым аргументом, или же None, если второй аргумент не передан. В качестве примера создадим словарь с именами, которые можно получить по определенным значениям, и напишем функцию, которая возвращает приветственную фразу со взятием имени из этого словаря. Подписывайтесь на канал 👉@pythonofff

"Быстрый" контейнер deque Структура deque предпочтительнее, чем обычный список, в тех случаях, когда нам нужны более быстрые
"Быстрый" контейнер deque Структура deque предпочтительнее, чем обычный список, в тех случаях, когда нам нужны более быстрые операции добавления и вытягивания элементов из обоих концов контейнера. К тому же, контейнер deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания по сравнению со стандартным списком, у которого сложность по времени для тех же операций составляет O(n). Также для deque есть возможность использовать такие стандартные функции, как sum, min, max и другие. Подписывайтесь на канал 👉@pythonofff

🔥Как аналитику правильно обработать данные перед исследованием? Разобраться с этим можно на открытом уроке «Предварительная
🔥Как аналитику правильно обработать данные перед исследованием? Разобраться с этим можно на открытом уроке «Предварительная обработка данных перед исследованием» от OTUS, который пройдёт 9 августа в 20:00. Урок приурочен к старту онлайн-курса «Аналитик данных», который можно будет приобрести в рассрочку. 🎇На вебинаре: Расскажем про основные методы проверки, которым важно подвергнуть ваш датасет перед началом работы; Познакомимся с этапами подготовки и очистки данных; Поговорим об основных подводных камнях, которые могут нас подстерегать на этом пути. 👩‍🦱🧑‍🦱Кому подойдет: Тем, кто хотя бы раз задумывался о переходе в сферу дата-аналитики; Тем, кто хочет разобраться в методах исследования данных. В результате вебинара вы узнаете как проводится подготовка данных к дальнейшим, более глубинным, исследованиям. 👉Регистрация на урок: https://otus.pw/EVrZ/

Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых кр
Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети. И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt: Приветствую! Здравствуйте! Ку, здарова. Добрый день! Привет! Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально. Подписывайтесь на канал 👉@pythonofff

⁠Блок else в циклах for Хауди хо, друзья. Практически все новички теряются при виде блока else после циклов, поэтому сейчас н
⁠Блок else в циклах for Хауди хо, друзья. Практически все новички теряются при виде блока else после циклов, поэтому сейчас немного проясним ситуацию. В Python блок else может быть представлен не только в условных конструкциях после if, но и в циклах после for и while. В данном случае код внутри else выполняется, только если цикл не был прерван с помощью break. Типичный пример использования – поиск чего-либо в цикле с использованием ключевого слова break при нахождении, как показано на картинке. Исходный код текстом можете найти в нашем чате. Подписывайтесь на канал 👉@pythonofff

⁠Логические any и all Одна из многих причин, почему Python является таким популярным языком, заключается в том, что он читаем
⁠Логические any и all Одна из многих причин, почему Python является таким популярным языком, заключается в том, что он читаем и выразителен. Предлагаю взглянуть на прикрепленный ниже код. Функция any возвращает значение True, если хотя бы одно из переданных утверждений верно, all – в случае, если все верны. На мой взгляд, эти две функции заслуживают отдельного внимания всего лишь из-за их простоты в использовании. Подписывайтесь на канал 👉@pythonofff