Python академия
7.33K subscribers
2.52K photos
5 videos
354 links
Учи Python быстро и легко.

Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам.

Подходит для прокачки навыков кодирования.

По всем вопросам @evgenycarter
Download Telegram
Counter

Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет.

К примеру, у вас есть список каких-то случайных чисел. Что, если вы хотите узнать, сколько раз встречается каждое число?

Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍2
Модуль os

Данный модуль предоставляет доступ к уникальным функциям, зависящим от конкретной системы. Атрибут os.name покажет тип операционной системы:

posix — для linux и macOS
nt — для операционных систем семейства Windows
java — для систем, работающих в виртуальной Java-машине (например, Android)

Модуль позволяет создавать, удалять, переименовывать файлы и папки. Возможность менять директорию и писать вместо /foler/file1, /foler/file2 и тд, можно просто сменить директорию через функцию os.chdir().

os.access() - проверить наличие файла и возможность записи/чтение.

os.listdir() - список файлов и вложенных каталогов.

os.path.abspath() - вернет абсолютный путь по относительному.

Полный список и документацию можно посмотреть через dir() и help() соответственно.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍31
Дальнейшая обработка данных

Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.

Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.

Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
3👍1
Перемещение и удаление файлов в Python

Чтобы переместить файл, мы можем воспользоваться модулем os или модулем shutil. Вы увидите перемещение файла при помощи метода rename() из модуля os.

Синтаксис rename() тот же, только в качестве второго аргумента указывается путь к целевому файлу с именем самого файла.

os.rename(исходноеместонахождение, целевоеместонахождение)

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍3
Работаем с котировками акций в Python

Библиотека yfinance предоставляет мощный и удобный инструмент для получения информации с ресурса Yahoo! finance в Python.

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

Тикер Макйрософт называется "MSFT", именно его необходимо вписать в методе поиска:
msft = yf.Ticker("MSFT")
Цена акции находится в поле ['regularMarketPrice']:
price = msft.info['regularMarketPrice']
Кроме этого yfinance предоставляет огромное количество такой информации о тикере как:

— Исторические данные рынка;
— Информация по дивидентам;
— Информация о фирме (адрес, количество работников, прибыль) и т. д.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍2🔥1
Работа с ChainMap из collections

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

Иногда нам нужно сгруппировать словари в один или же работать с множеством словарей как с одним, в этом случае вам поможет ChainMap.

Немного про особенности ChainMap:

— Представляет тот же интерфейс, что и словарь, но с дополнительными возможностями;
— Создает обновляемое представление;
— Видит внешние изменения во входных отображениях.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍2
Рисуем графики

Графическая библиотека plotly позволяет создавать интерактивные качественные графики в Python.

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

Сначала нам нужен список с данными, которые мы хотим изобразить на графике. Это может быть, например, список или numpy массив:
data = [1, 1.3, 2.1, 4, 3.5, 7]
Далее метод fig = px.line(y=data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.

Метод fig.show() откроет графическое окно с изображенным графиком.

Кроме этого plotly позволяет строить такие графики как:

— Точечные графики;
— Круговые диаграммы;
— Гистограммы;
— Тепловые карты;
— Пузырьковые диаграммы;
— И многие другие.

Больше подробно об этой библиотеке и способы ее применения можно посмотреть тут.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍21
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌

https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌

https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
💩2👍1
Профилирование

Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍2👎1
Генераторные фунции (generator functions)

Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍3
Управление версиями Python

Инструмент pyenv позволяет легко переключаться между несколькими версиями Python. Он прост в использовании и следует лучшим традициям UNIX, где каждая утилита хорошо выполняет одну свою задачу.

Вкратце, основной функционал pyenv выглядит так:

— Позволяет изменять глобальную версию Python для каждого пользователя;
— Обеспечивает поддержку версий Python для каждого проекта;
— Позволяет переопределить версию Python с помощью переменной окружения;
— Выполняет поиск команд из нескольких версий Python одновременно.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍3
Обработка исключений

Исключения — это тип данных, который нужен для того, что бы сообщать нам об ошибках.

Существует базовое исключение BaseException от которого наследуются все остальные исключения.

В блоке try мы выполняем инструкцию, которая может породить исключение, а в блоке except мы ловим ошибки и делаем свои операции.

Стоит учесть, что мы можем делать бесконечное количество вложенных блоков.

Грамотным способом является вылавливать только те исключения, которые мы ожидаем.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍3
Получаем метаданные из аудиофайла

Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль mutagen. Модуль позволяет получить всю основную информацию об аудиофайле: длину, битрейт, исполнителя и так далее.

Модуль поддерживает форматы метаданных APEv2 и ID3v2, анализируя все кадры ID3v2.4.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍1
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
Каждая функция должна выполнять какое-то одно действие и делать это хорошо

Пишите короткие и простые функции, выполняющие одну задачу. Полезный прием: если в имени вашей функции появляется союз «и», лучше разделить такую функцию на две разных.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍4
Получаем и задаем лимит рекурсии

В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов.

Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.

И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍1
Как извлечь аудио из видеофайлов

Представим, что у нас есть mp4-файл, а нам нужна только звуковая дорожка. Это нужно, если мы хотим сделать другое видео с таким же звуковым сопровождением. Это решается установкой библиотеки moviepy.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍1
Сортировка словаря по значениям

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

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

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍3
Скачивание постов и изображений профиля из Instagram

Всем нам часто попадаются хорошие посты в Instagram, которые хотелось бы сохранить на своем устройстве, чтобы иметь офлайн-доступ. Это можно сделать при помощи библиотеки instaloader.

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
👍2
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
👎2