Python академия
رفتن به کانال در Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
نمایش بیشتر7 092
مشترکین
-224 ساعت
-117 روز
-3530 روز
آرشیو پست ها
7 092
Почему так происходит?
Программа проверяет, совпадает ли пользовательский ответ со строкой yellow. Однако — Yellow с заглавной буквой Y — это совершенно другая строка.
Вы можете легко исправить это, используя метод lower() и внеся небольшое изменение в программу.
Подписывайтесь на канал 👉@pythonofff
7 092
Валидация данных с Pydantic
Pydantic — это библиотека для парсинга и валидации данных, в котором атрибуты класса имеют статическую типизацию.
Эта типизация используется в момент создания обьекта класса для проверки значений.
Пакет хорош в ситуациях когда вам нужно распарсить какой-то json, и все это превращается в рутину: проверка структуры json, необходимых полей, значений и так далее.
Также имеется поддержка множества других типов данных, помимо стандартных, таких как почта, url адрес, номер платежных карт.
Полноценный пример есть на картинке выше. Документация находится здесь.
Подписывайтесь на канал 👉@pythonofff
7 092
Пример работы метода lower(): проверяем пользовательский ввод
Скрипт задает пользователю вопрос "What color is the sun?" («Какого цвета солнце?») и ждет от него ответа. Затем программа проверяет, совпадает ли ответ с "yellow" (желтый), и если да, то печатает "Correct!" («Правильно!»). Если пользователь введет другой ответ, программа напечатает "That is not the correct color!" («Это неправильный цвет!»).
Подписывайтесь на канал 👉@pythonofff
7 092
Строим графики
Для построения графиков в Python существует библиотека Matplotlib. Это мощный инструмент для визуализации данных.
Сначала нам нужен массив с данными, которые мы хотим изобразить на графике. Это может быть, например, список или numpy массив.
Далее метод plt.plot(data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.
Метод plt.show() откроет графическое окно с изображенным графиком.
Подписывайтесь на канал 👉@pythonofff
7 092
Метод lower() возвращает новую строку
lower() возвращает новую строку. Этот момент логически вытекает из предыдущего. Следовательно, если вы хотите использовать результат работы метода в дальнейшем, вам нужно сохранить его в новую переменную.
Подписывайтесь на канал 👉@pythonofff
7 092
Выполняем код по расписанию
Часто от программиста требуется написать код, который должен выполняться в определенный промежуток времени или по расписанию. Для решения этой проблемы существует много решений, но одно из них — это библиотека aiocron.
Она позволяет просто описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция attime будет выполняться каджую минуту с 6 утра до 10 вечера в рабочие дни недели. Подробнее о написании своих расписаний можно почитать тут.
Подписывайтесь на канал 👉@pythonofff
7 092
Что следует учитывать при использовании метода lower()
Метод lower() делает довольно простую вещь. Он создает новую строку, в которой все прописные буквы меняются на строчные. Но есть несколько моментов, о которых следует помнить при его использовании.
Строки неизменяемы
Строки являются неизменяемым типом данных. Это означает, что их нельзя поменять после создания, только перезаписать заново. Поэтому исходная строка после использования метода lower() остается неизменной.
Подписывайтесь на канал 👉@pythonofff
7 092
Цепочка исключений
Для формирования цепочек исключений используется ключевое слово from, после которого требуется указать ещё одно исключение. Это исключение будет подвязано к вызванному в атрибут __cause__ (поддерживает запись).
В результате, если вызванное исключение не обработано, то на вывод будут отправлены оба исключения.
Подписывайтесь на канал 👉@pythonofff
7 092
☝️ Чтобы научиться писать код, без основ ООП вам не обойтись. ООП — это фундамент для разработчиков.
25 апреля в 20:00 в OTUS.
👉 Вебинар «Основы ООП в Python»
На занятии эксперт Сурен Хоренян познакомит вас с созданием классов, изменяемостью экземпляров, передачей аргументов в инициализатор, наследованием и переопределением методов.
📌 В результате занятия:
- Научитесь создавать свои классы;
- Разберётесь с наследованием;
- Научитесь переопределять методы и обращаться к методам суперклассов.
Вебинар «Основы ООП в Python» приурочен к старту онлайн-курса «Специализация Python Developer»
👉 Для участия зарегистрируйтесь https://otus.pw/i6II/
7 092
Временные файлы
В стандартной библиотеке Python есть модуль tempfile, который содержит классы и методы для корректной работы со временными файлами и директориями.
Функция
TemporaryFile создает временный файл в системной директории и возвращает файлоподобный объект.
Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера.
Также другие процессы и приложения не смогут получить доступ к этому временному файлу.
Подписывайтесь на канал 👉@pythonofff7 092
Что такое строка?
Строка — это тип данных в Python. Строка записывается как последовательность символов, заключенная в одинарные или двойные кавычки.
Подписывайтесь на канал 👉@pythonofff
7 092
❓Как формулировать и проверять гипотезы для своего продукта?
Обсудим 28 апреля в 20:00 на открытом уроке «Проверка гипотез. Не А/В-тестированием единым» в OTUS. Вебинар приурочен к старту онлайн-курса «Продуктовая аналитика» в OTUS.
⚡️На занятии мы разберем:
— Что такое гипотезы, и как их правильно формулировать?
— Кому и когда подойдут А/В-тесты?
— Альтернативные способы проверки гипотез.
Вебинар подойдет аналитикам, менеджерам продукта и маркетологам, желающим повысить свою эффективность в работе с данными и улучшить качество продукта.
🔥В результате вебинара вы поймете, когда уместно проводить А/В тесты, а когда — нет, а также получите рекомендации, что делать, когда А/В тесты не подходят. А продолжить обучение вы сможете на курсе, сейчас возможны разные способы оплаты.
👉Для участия зарегистрируйтесь:
https://otus.pw/WPBIN/
Нативная интеграция. Информация о продукте www.otus.ru
7 092
PyAutoGUI
PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.
Из ключевого функционала можно выделить следующее:
— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.
Основные функции показаны в примере на картинке выше, остальное — в документации проекта https://pyautogui.readthedocs.io/en/latest/
Подписывайтесь на канал 👉@pythonofff
7 092
Как удалить ключ из словаря при помощи генератора
Генераторы словаря в Python — это быстрые однострочники, которые позволяют легко создавать словари.
Здесь важно понимать, что мы создаем новый словарь. Поэтому это не самый экономичный метод удаления ключа. Но если вы уверены, что ключ существует, а словарь не слишком велик, можно воспользоваться и генератором.
Подписывайтесь на канал 👉@pythonofff
7 092
Получаем версию Python
Во пакете sys есть удобная переменная version_info, которая хранит в себе версию Python, с помощью которого был запущен скрипт.
Проверка версии интерпретатора может быть полезна в случае, если вы используете какие-то фичи из более новых версий языка.
Подписывайтесь на канал 👉@pythonofff
7 092
Как использовать ключевое слово global в Python
По умолчанию Python думает, что внутри функции вы хотите использовать локальную переменную.
И когда мы сначала пытаемся вывести значение переменной, а затем повторно присваиваем значение переменной, к которой мы пытаемся получить доступ, Python запутывается.
Подписывайтесь на канал 👉@pythonofff
7 092
Аргументы командой строки
При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной argv во встроенном модуле sys.
Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.
Подписывайтесь на канал 👉@pythonofff
7 092
Обрабатываем естественный язык
TextBlob — удобный пакет для обработки текста. Он предоставляет простой API для погружения в общие задачи обработки естественного языка (NLP), такие как анализ тональности, пометку частей речи, перевод и многое другое.
Здесь особенно круто, что к объектам класса TextBlob можно применять методы строк (upper, split, format и т. д.) и в целом обращаться с ними как с обычными строками.
Документация находится здесь, но некоторые примеры есть и на картинке выше. Еще важно, что несколько функций, например translate(), требуют подключения к интернету.
Подписывайтесь на канал 👉@pythonofff
7 092
Как определить глобальную переменную в Python
Когда вы определяете переменную вне функции, например, в начале файла, она имеет глобальную область видимости и называется глобальной переменной.
Доступ к глобальной переменной возможен из любой точки программы.
Подписывайтесь на канал 👉@pythonofff
7 092
Как определить локальную переменную в Python
Переменные, определенные внутри тела функции, имеют локальную область видимости. Это означает, что они доступны только внутри данной конкретной функции. Другими словами, они «локальны» для этой функции.
Подписывайтесь на канал 👉@pythonofff
