Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Что выведет код выше
Anonymous Quiz
31%
list
24%
tuple
31%
<class 'generator'>
14%
None
🤔37👍10👎3❤1
Функция reduce

Модуль functools раскрывает функциональные возможности Python. Например, в нём есть интересная функция reduce, последовательно применяющая функцию-аргумент к элементам списка, возвращая при этом в итоге единичное значение.

В примере мы используем функцию для последовательного сложения элементов списка.
👍14🤡4
⚡️ Обфускация кода

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

Установка: pip install pyarmor

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

Вводим pyarmor obfuscate file.py и файл станет таким же непонятным, как на картинке выше. Если стало интересно, советую начать изучение тут.
👍26🔥2❤‍🔥1❤1🥰1
⚡️Переводим текст в речь

gTTS
— модуль для взаимодействия с API преобразования текста в речь google translate.

Установка: pip install gTTS

Вы можете попробовать этот модуль, введя gtts-cli 'hello' --output hello.mp3 в терминал.

Но, помимо cli, модуль доступен и в python. Просто создаёте gTTS(text), сохраняете с помощью save('filename.mp3') и получаете тот же самый результат.
👍28❤3👾1
Вычисление разницы во времени

Ещё одна прекрасная функция dateutil — это модуль relativedelta, способный рассчитывать время. Вы с лёгкостью можете добавить или вычесть произвольные единицы времени из экземпляра datetime или вычислить разницу между двумя экземплярами datetime.

Эта функция куда гибче datetime.timedelta, потому что вы можете задавать более длинные, чем день, интервалы, например месяц или год.
👍9🤯6👏4👎1🤩1
Случайные числа с модулем random

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

В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.

С документацией можно ознакомиться по ссылке.
👍19❤1🔥1
Выводим положение курсора

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

Далее собираем бесконечный цикл и выводим положение.

Это можно использовать для хранения движения курсора по экрану.
👍20❤1💘1
Numerizer

С помощью функции numerize из пакета numerizer можно перевести текст в числа, то есть, например, из строки "five" получить число 5. К сожалению, работает только с английским языком.
❤‍🔥18👍4❤1
Функция sleep()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени — задержку обеспечивает sleep. Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print() мы используем sleep на 5 секунд.

На картинке этого не видно, но после запуска кода строки выводятся через указанные интервалы времени.
👍17
Использование функции enumerate()

Функция enumerate() добавляет счетчик в итерируемый объект, в котором используется метод iter , возвращающий итератор. Он может принимать последовательные значения индекса, начиная с нуля. И выдаёт ошибку IndexError, когда индексы больше недействительны.

Типичный пример использования функции enumerate() — создание цикла по списку с отслеживанием индекса. Для этого можно использовать переменную в качестве счетчика. Но функция enumerate() позволяет сделать то же самое намного удобнее.
🔥9👍2
Как создать словарь Python

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

Наиболее важный отличительный признак словаря — фигурные скобки {}. Кроме того, для каждого элемента словаря нужно разделение ключа и значения двоеточием :.

Приведенная ниже переменная fruit — словарь. Вы можете получить доступ к любому элементу из этого словаря, поместив ключ в квадратные скобки []. То же самое можно сделать еще и с помощью метода .get().
👍12❤1
Генерация случайных данных

Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.

Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.
❤‍🔥16👍10❤1
Деструкторы

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

Переопределение деструкторов на практике встречается редко, но на случай каверзных вопросов на собеседованиях стоит знать об этой особенности.
👍12❤1🥴1
Зачем и как использовать аннотации типов

Полезной особенностью языков со статической типизацией является то, что тип значения переменной всегда известен. Например, мы знаем, что строковые переменные могут быть только строками, int может быть только целым числом и т. д. С динамически типизированными языками можно только догадываться, каким является или должно быть значение переменной.
👍9❤1
Создание капчи

Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.

В Python капчу реализовать можно довольно просто — с использованием пары модулей сначала создаётся картинка, затем сохраняется в определённый файл. Результат выполнения программы вы можете увидеть на картинке снизу.
👍6
Получаем исходный код

Встроенный модуль inspect даёт возможность увидеть исходный код созданных программ. Функция getsource(), например, возвращает строку, где содержится код переданной ей функции, модуля или класса.
🔥6
Модуль schedule

schedule
- простой в использовании Python модуль для периодического запуска функций по дням, часам, минутам и даже секундам.

Установка: pip install schedule

Документация
👍18
Преобразование текста в речь

Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи pip install pyttsx3. Запущенная программа спросит, как у вас дела, и скажет, что любит макароны.

Модуль позволяет менять настройки произношения. Полная документация доступна по ссылке: https://pypi.org/project/pyttsx3/
👍14🔥8❤2
Используем методы split() и join()

Комбинация split() и join() — двух строковых методов Python. Функция split() разделяет строку по указанному разделителю и возвращает разделенные элементы исходной строки в виде списка. Общий синтаксис функции split()
🔥11🤔3❤2
Делаем GIF из видео

Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
👏12👍6🤔2👎1