Python академия
7.73K subscribers
2.31K photos
5 videos
268 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Многоточие в Python

Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python

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

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

Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.

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

Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.

Подписывайтесь на канал 👉@pythonofff
👍1
all or any: все или хоть что-нибудь

Python – удивительно простой и выразительный язык. Его даже иногда называют «выполняемым псевдокодом». И с этим трудно поспорить, когда вы можете себе позволить конструкции

Подписывайтесь на канал 👉@pythonofff
👍3
Находим наименьшие и наибольшие

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

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

С помощью методов nsmallest и nlargest можно получить наименьшие и наибольшие элементы в списке.

Первым аргументов передается, сколько элементов нужно взять, вторым — список.

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

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

Подписывайтесь на канал 👉@pythonofff
Получаем информацию о памяти на диске

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

Но с помощью shutil мы можем даже получить информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.

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

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

Возвращает разницу между двумя списками после применения функции к каждому элементу обоих списков.

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

На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями.

Сейчас подробнее разберем именно списки, но по такому же принципу можно создавать и словари.

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

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

Подписывайтесь на канал 👉@pythonofff
👍6🔥1
Наличие дублей

Проверяет, есть ли в списке повторяющиеся значения, пользуясь тем, что set()содержит только уникальные элементы

Подписывайтесь на канал 👉@pythonofff
👍31
Ищем учеников на бесплатный интенсив по созданию искусственного интеллекта с нуля. Опыт программирования не важен!🤖

Гарантия трудоустройства всем выпускникам университета! Удаленная работа из любой точки мира!

Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ и СНГ, вы с легкостью напишете свой первый искусственный интеллект👨‍💻

Какие нейронные сети вы создадите?
👉Классификация марок молока
👉Классификация людей на входящих и выходящих из автобуса
👉Обнаружение возгораний
👉Оценка стоимости квартир
👉Классификация отзывов на Teslа
👉Оценка резюме соискателей
👉Прогнозирование стоимости полиметаллов
👉Сегментация изображений самолетов
👉Распознавание команд умного дома⠀

Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатный интенсив и напишите искусственный интеллект за 3 вечера💪

Регистрируемся тут
👍2
Время исполнения программы

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

Как вариант, можно воспользоваться функцией time из модуля time, которая возвращает текущее время в формате Unix.

Перед исполнением нашего кода сохраним начальное время, а после — конечное. Путем вычета первого из второго и получим время исполнения программы.

Использование time.time() — не самый точный и лучший вариант, но, например, для быстрого сравнения двух разных частей кода подходит хорошо.

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

С помощью этого фрагмента можно сильно сэкономить память. Достаточно записать строку n раз без использования циклов

Подписывайтесь на канал 👉@pythonofff
👍2
Очистка элементов в последовательности

Встроенный модуль itertools был создан для работы с более сложными случаями итераторов. Плюс модуля в том, что он быстро работает и оптимизирован в плане памяти.

Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют itertools, а именно метод compress.

Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.

Если логическое значения равно True или 1, то элемент сохраняется в последовательности, в противном случае — удаляется из нее.

Подписывайтесь на канал 👉@pythonofff
👍7
Объединение двух словарей

В Python 2 для соединения двух словарей мы использовали метод update(). В Python 3.5 процесс еще проще.

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

Подписывайтесь на канал 👉@pythonofff
👍6
Получаем информацию по IP

Недавно наткнулся на интересный пакет ip2geotools, с помощью которого можно получить геолокацию по IP из нескольких баз данных. Устанавливается он через пакетный менеджер pip.

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

Атрибуты city, region, country хранят в себе информацию о городе, регионе и стране. А обратившись к атрибутам latitude и longitude можно получить широту и долготу.

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

Возвращает размер объекта в байтах.
Если указано значение по умолчанию, то оно вернется, если объект не предоставляет способа получить размер. В противном случае возникнет исключение TypeError.
Getsizeof() вызывает метод объекта sizeof и добавляет размер дополнительной информации, которая хранится для сборщика мусора, если он используется.

Подписывайтесь на канал 👉@pythonofff
👍3
Станьте Python-разработчиком на Хекслете 🐍

Пройдите бесплатные вводные курсы, чтобы познакомиться с профессией.
Если понравится — присоединяйтесь к обучению в группе с наставником
Развивайте нетворкинг в 26-тысячном сообществе айтишников
Выполняйте проекты, участвуйте в Open Source, готовьтесь к трудоустройству

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

P.S. У нас дружелюбная атмосфера, возможность учиться в своем темпе и совмещать учебу с работой. А еще комфортная рассрочка и гарантированный манибэк в течение двух недель, если передумали.

Присоединяйтесь!
Защищаем исходный код обфускацией

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

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

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

В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен выше на картинке.

Подписывайтесь на канал 👉@pythonofff
🔥4
Генераторные выражения в Python

Для создания генераторов на скорую руку можно использовать выражения (как и для генераторов списка).

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

На Python есть классная библиотека gTTS (Google Text-to-Speech), которая взаимодействует с Google Translate's text-to-speech API и позволяет делать из текста аудиофайлы. Пакет как всегда устанавливается через pip.

При создании экземпляра класса gTTS мы передаем исходный текст первым аргументом. Также можно передать опциональный аргумент, отвечающий за язык, который по умолчанию является английским.

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

Подписывайтесь на канал 👉@pythonofff
10👍3