Python академия
7.72K subscribers
2.3K photos
5 videos
267 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Наличие дублей

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

Подписывайтесь на канал 👉@pythonofff
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥

Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате

Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.

Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
💩2🥱1
Очистка элементов в последовательности

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

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

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

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

Подписывайтесь на канал 👉@pythonofff
Защищаем исходный код обфускацией

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

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

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

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

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

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

Подписывайтесь на канал 👉@pythonofff
👍1
💰Олимпиада по программированию с призовым фондом 50 000 рублей!

🏃💨Для школьников от 10 до 16 лет, задачи можно решать на языках GO, Python, JavaScript, C++

🏆Решить олимпиаду можно 23 июля (среда) с 11:00 до 19:00

🗣Регистрация закроется 20 июля в 23:55

1️⃣ место - 25 000 рублей
2️⃣ место - 15 000 рублей
3️⃣ место - 10 000 рублей

😎Регистрируйся по ссылке, участие бесплатное
Олимпиада ZamaCode

📲А также подписывайся на наш телеграм-канал, чтобы не пропустить новые олимпиады и розыгрыши!
👍1
Превращаем текст в речь

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

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

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

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

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

Подписывайтесь на канал 👉@pythonofff
2👍1
Используйте dict.get() вместо dict[]

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

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

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

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

В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.

Подписывайтесь на канал 👉@pythonofff
👏31
Использование изменяемых типов для аргументов, устанавливаемых по умолчанию

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

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

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

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

В Python есть два встроенных способа для сортировки списков — функция sorted() и метод list.sort(). Результат в обоих случаях одинаков, но всё же есть нюансы.

Функция sorted() принимает на вход аргумент в виде списка, а возвращает уже новый, отсортированный список. При этом исходный список не изменяется.

Метод sort() в свою очередь применяется к списку, изменяет его непосредственно и ничего не возвращает.

Подписывайтесь на канал 👉@pythonofff
👍3
Удаление специальных символов из строки с применением метода sub из пакета re

Давайте воспользуемся функцией sub из пакета re, чтобы удалить специальные символы.

Метод sub() используется для гибкой замены одних символов другими.

Подписывайтесь на канал 👉@pythonofff
Функции sleep() и time()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.

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

Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.

В результате интервал между двумя моментами времени составил две секунды.

Подписывайтесь на канал 👉@pythonofff
👍1
Освобождение памяти

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

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

Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования == и is в приложениях могут возникнуть странные ошибки.

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

Но Python в целях производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.

Подписывайтесь на канал 👉@pythonofff
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮1
Как сделать запрос PUT

Нам часто требуется обновить существующие данные в API. Используя запрос PUT, мы можем обновить данные полностью. Это означает, что, когда мы делаем запрос PUT, он заменяет все старые данные новыми.

В запросе POST мы создали новый продукт с идентификатором 21. Давайте обновим старый продукт на новый, сделав запрос PUT к конечной точке products/<product_id>.

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

Если с помощью inspect посмотреть на то, как объявлена встроенная функция float, то увидим, что есть входный параметр x и еще какой-то непонятый слэш.

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

Такое поведение как раз задает тот слэш. Параметры, записанные до него, можно передать только как позиционные. После него – как угодно, все будет работать стандартно.

Подписывайтесь на канал 👉@pythonofff
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Декораторы в Python

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

Рассмотрим функцию square_decorator(), которая в качестве аргумента принимает функцию и в результате также выдают функцию.

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