⚡️ Обфускация кода
Любой желающий может открыть ваш код и прочитать его. Но этого можно избежать, если обфусцировать код, то есть перевести в нечитаемый вид. Для этого нам нужен PyArmor.
Установка:
Вводим
Любой желающий может открыть ваш код и прочитать его. Но этого можно избежать, если обфусцировать код, то есть перевести в нечитаемый вид. Для этого нам нужен PyArmor.
Установка:
pip install pyarmor
Запускается этот инструмент из терминала. Обо всех командах можно почитать в документации, нам же потребуется только obfuscate.Вводим
pyarmor obfuscate file.py и файл станет таким же непонятным, как на картинке выше. Если стало интересно, советую начать изучение тут.👍26🔥2❤🔥1❤1🥰1
⚡️Переводим текст в речь
gTTS — модуль для взаимодействия с API преобразования текста в речь google translate.
Установка:
Но, помимо cli, модуль доступен и в python. Просто создаёте
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, потому что вы можете задавать более длинные, чем день, интервалы, например месяц или год.
Ещё одна прекрасная функция dateutil — это модуль relativedelta, способный рассчитывать время. Вы с лёгкостью можете добавить или вычесть произвольные единицы времени из экземпляра datetime или вычислить разницу между двумя экземплярами datetime.
Эта функция куда гибче datetime.timedelta, потому что вы можете задавать более длинные, чем день, интервалы, например месяц или год.
👍9🤯6👏4👎1🤩1
Случайные числа с модулем random
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
👍19❤1🔥1
Функция sleep()
Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени — задержку обеспечивает sleep. Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего
На картинке этого не видно, но после запуска кода строки выводятся через указанные интервалы времени.
Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени — задержку обеспечивает sleep. Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего
print() мы используем sleep на 5 секунд.На картинке этого не видно, но после запуска кода строки выводятся через указанные интервалы времени.
👍17
Использование функции enumerate()
Функция enumerate() добавляет счетчик в итерируемый объект, в котором используется метод iter , возвращающий итератор. Он может принимать последовательные значения индекса, начиная с нуля. И выдаёт ошибку IndexError, когда индексы больше недействительны.
Типичный пример использования функции enumerate() — создание цикла по списку с отслеживанием индекса. Для этого можно использовать переменную в качестве счетчика. Но функция enumerate() позволяет сделать то же самое намного удобнее.
Функция enumerate() добавляет счетчик в итерируемый объект, в котором используется метод iter , возвращающий итератор. Он может принимать последовательные значения индекса, начиная с нуля. И выдаёт ошибку IndexError, когда индексы больше недействительны.
Типичный пример использования функции enumerate() — создание цикла по списку с отслеживанием индекса. Для этого можно использовать переменную в качестве счетчика. Но функция enumerate() позволяет сделать то же самое намного удобнее.
🔥9👍2
Как создать словарь Python
Предположим, вы проводите инвентаризацию фруктов в корзине. Вы сохраняете количество каждого типа фруктов в словаре. Существует несколько способов создания словаря, но в этом уроке мы не будем усложнять. Полный обзор можно найти в документации Python по словарям.
Наиболее важный отличительный признак словаря — фигурные скобки {}. Кроме того, для каждого элемента словаря нужно разделение ключа и значения двоеточием :.
Приведенная ниже переменная fruit — словарь. Вы можете получить доступ к любому элементу из этого словаря, поместив ключ в квадратные скобки []. То же самое можно сделать еще и с помощью метода .get().
Предположим, вы проводите инвентаризацию фруктов в корзине. Вы сохраняете количество каждого типа фруктов в словаре. Существует несколько способов создания словаря, но в этом уроке мы не будем усложнять. Полный обзор можно найти в документации Python по словарям.
Наиболее важный отличительный признак словаря — фигурные скобки {}. Кроме того, для каждого элемента словаря нужно разделение ключа и значения двоеточием :.
Приведенная ниже переменная fruit — словарь. Вы можете получить доступ к любому элементу из этого словаря, поместив ключ в квадратные скобки []. То же самое можно сделать еще и с помощью метода .get().
👍12❤1
Генерация случайных данных
Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.
Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.
Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.
Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.
❤🔥16👍10❤1
Деструкторы
В дополнение к конструкторам в Python также существуют и деструкторы. В каждом конкретном классе деструктор можно переопределить с помощью метода
Переопределение деструкторов на практике встречается редко, но на случай каверзных вопросов на собеседованиях стоит знать об этой особенности.
В дополнение к конструкторам в Python также существуют и деструкторы. В каждом конкретном классе деструктор можно переопределить с помощью метода
__del__, который вызывается автоматически при удалении объекта.Переопределение деструкторов на практике встречается редко, но на случай каверзных вопросов на собеседованиях стоит знать об этой особенности.
👍12❤1🥴1
Зачем и как использовать аннотации типов
Полезной особенностью языков со статической типизацией является то, что тип значения переменной всегда известен. Например, мы знаем, что строковые переменные могут быть только строками, int может быть только целым числом и т. д. С динамически типизированными языками можно только догадываться, каким является или должно быть значение переменной.
Полезной особенностью языков со статической типизацией является то, что тип значения переменной всегда известен. Например, мы знаем, что строковые переменные могут быть только строками, int может быть только целым числом и т. д. С динамически типизированными языками можно только догадываться, каким является или должно быть значение переменной.
👍9❤1
Создание капчи
Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.
В Python капчу реализовать можно довольно просто — с использованием пары модулей сначала создаётся картинка, затем сохраняется в определённый файл. Результат выполнения программы вы можете увидеть на картинке снизу.
Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.
В Python капчу реализовать можно довольно просто — с использованием пары модулей сначала создаётся картинка, затем сохраняется в определённый файл. Результат выполнения программы вы можете увидеть на картинке снизу.
👍6
Модуль schedule
schedule - простой в использовании Python модуль для периодического запуска функций по дням, часам, минутам и даже секундам.
Установка:
schedule - простой в использовании Python модуль для периодического запуска функций по дням, часам, минутам и даже секундам.
Установка:
pip install schedule
Документация👍18
Преобразование текста в речь
Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи
Модуль позволяет менять настройки произношения. Полная документация доступна по ссылке: https://pypi.org/project/pyttsx3/
Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи
pip install pyttsx3. Запущенная программа спросит, как у вас дела, и скажет, что любит макароны.Модуль позволяет менять настройки произношения. Полная документация доступна по ссылке: https://pypi.org/project/pyttsx3/
👍14🔥8❤2
Делаем GIF из видео
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
👏12👍6🤔2👎1
Фильтрация нежелательного содержимого
Регулярные выражения также можно использовать для фильтрации определенных слов из комментариев к сообщениям, что особенно полезно в сообщениях в блогах и социальных сетях.
В следующем примере показано, как можно отфильтровать предварительно выбранные слова, которые пользователи не должны использовать в своих комментариях.
Регулярные выражения также можно использовать для фильтрации определенных слов из комментариев к сообщениям, что особенно полезно в сообщениях в блогах и социальных сетях.
В следующем примере показано, как можно отфильтровать предварительно выбранные слова, которые пользователи не должны использовать в своих комментариях.
👍11👎1
Синтаксис
sleep() – это метод модуля времени в Python. Итак, сначала мы должны импортировать модуль времени, затем мы можем использовать этот метод. Способ использования функции sleep():
Здесь аргумент метода sleep() t находится в секундах. Это означает, что когда выполняется инструкция time.sleep(t), следующая строка кода будет выполнена через t секунд.
sleep() – это метод модуля времени в Python. Итак, сначала мы должны импортировать модуль времени, затем мы можем использовать этот метод. Способ использования функции sleep():
Здесь аргумент метода sleep() t находится в секундах. Это означает, что когда выполняется инструкция time.sleep(t), следующая строка кода будет выполнена через t секунд.
👍15❤1💩1