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

А что, если искомое значение встречается в списке несколько раз и мы хотим узнать индексы всех этих элементов? Метод index() выдаст нам индекс только первого вхождения.

В этом фрагменте кода мы перебираем индексы списка в цикле for и при помощи range(). Далее мы проверяем значение элемента под каждым индексом на равенство «Math«. Если значение элемента — «Math«, мы сохраняем значение индекса в списке.

Подписывайтесь на канал 👉@pythonofff
👍4🔥1
Как искать индекс элемента, которого, возможно, нет в списке

Бывает, нужно получить индекс элемента, но мы не уверены, есть ли он в списке.

Если попытаться получить индекс элемента, которого нет в списке, метод index() вызовет ошибку ValueError. При отсутствии обработки исключений ValueError вызовет аварийное завершение программы. Такой исход явно не является хорошим и с ним нужно что-то сделать.

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

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

Например, в языке программирования C вы должны явно указать тип данных, которые будут храниться в переменной. Допустим, вы хотите сохранить свой возраст в виде целого числа или типа int.

Подписывайтесь на канал 👉@pythonofff
🤨3👍2🐳1
Проверка истинности объекта класса

Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод __bool__(), который был добавлен на замену устаревшему __nonzero__() в python2.

Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции bool(). Метод должен возвращать False или True.

Если __bool__() не определен, будет вызываться метод __len__(), если он определен, и, соответственно, объект будет считаться истинным, если результат __len__() не будет равен нулю. Если в классе не определены ни __len__(), ни __bool__(), все его экземпляры будут истинными.

Подписывайтесь на канал 👉@pythonofff
👍3🔥1
Как определить локальную переменную в Python

Переменные, определенные внутри тела функции, имеют локальную область видимости. Это означает, что они доступны только внутри данной конкретной функции. Другими словами, они «локальны» для этой функции.

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

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

Доступ к глобальной переменной возможен из любой точки программы.

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

TextBlob — удобный пакет для обработки текста. Он предоставляет простой API для погружения в общие задачи обработки естественного языка (NLP), такие как анализ тональности, пометку частей речи, перевод и многое другое.

Здесь особенно круто, что к объектам класса TextBlob можно применять методы строк (upper, split, format и т. д.) и в целом обращаться с ними как с обычными строками.

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

Подписывайтесь на канал 👉@pythonofff
🔥4
Аргументы командой строки

При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной argv во встроенном модуле sys.

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

Подписывайтесь на канал 👉@pythonofff
🔥3👍2
Как использовать ключевое слово global в Python

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

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

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

Во пакете sys есть удобная переменная version_info, которая хранит в себе версию Python, с помощью которого был запущен скрипт.

Проверка версии интерпретатора может быть полезна в случае, если вы используете какие-то фичи из более новых версий языка.

Подписывайтесь на канал 👉@pythonofff
🔥2👍1
Как удалить ключ из словаря при помощи генератора

Генераторы словаря в Python — это быстрые однострочники, которые позволяют легко создавать словари.

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

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

PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.

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

Основные функции показаны в примере на картинке выше, остальное — в документации проекта https://pyautogui.readthedocs.io/en/latest/

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

Строка — это тип данных в Python. Строка записывается как последовательность символов, заключенная в одинарные или двойные кавычки.

Подписывайтесь на канал 👉@pythonofff
🔥2
Временные файлы

В стандартной библиотеке Python есть модуль tempfile, который содержит классы и методы для корректной работы со временными файлами и директориями.

Функция TemporaryFile создает временный файл в системной директории и возвращает файлоподобный объект.

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

Также другие процессы и приложения не смогут получить доступ к этому временному файлу.

Подписывайтесь на канал 👉@pythonofff
🔥2
Цепочка исключений

Для формирования цепочек исключений используется ключевое слово from, после которого требуется указать ещё одно исключение. Это исключение будет подвязано к вызванному в атрибут __cause__ (поддерживает запись).

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

Подписывайтесь на канал 👉@pythonofff
👍1🔥1
Что следует учитывать при использовании метода lower()

Метод lower() делает довольно простую вещь. Он создает новую строку, в которой все прописные буквы меняются на строчные. Но есть несколько моментов, о которых следует помнить при его использовании.

Строки неизменяемы
Строки являются неизменяемым типом данных. Это означает, что их нельзя поменять после создания, только перезаписать заново. Поэтому исходная строка после использования метода lower() остается неизменной.

Подписывайтесь на канал 👉@pythonofff
🔥4
Выполняем код по расписанию

Часто от программиста требуется написать код, который должен выполняться в определенный промежуток времени или по расписанию. Для решения этой проблемы существует много решений, но одно из них — это библиотека aiocron.

Она позволяет просто описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция attime будет выполняться каджую минуту с 6 утра до 10 вечера в рабочие дни недели. Подробнее о написании своих расписаний можно почитать тут.

Подписывайтесь на канал 👉@pythonofff
🔥5👎1
Метод lower() возвращает новую строку

lower() возвращает новую строку. Этот момент логически вытекает из предыдущего. Следовательно, если вы хотите использовать результат работы метода в дальнейшем, вам нужно сохранить его в новую переменную.

Подписывайтесь на канал 👉@pythonofff
🔥2
Строим графики

Для построения графиков в Python существует библиотека Matplotlib. Это мощный инструмент для визуализации данных.

Сначала нам нужен массив с данными, которые мы хотим изобразить на графике. Это может быть, например, список или numpy массив.

Далее метод plt.plot(data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.

Метод plt.show() откроет графическое окно с изображенным графиком.

Подписывайтесь на канал 👉@pythonofff
Пример работы метода lower(): проверяем пользовательский ввод

Скрипт задает пользователю вопрос "What color is the sun?" («Какого цвета солнце?») и ждет от него ответа. Затем программа проверяет, совпадает ли ответ с "yellow" (желтый), и если да, то печатает "Correct!" («Правильно!»). Если пользователь введет другой ответ, программа напечатает "That is not the correct color!" («Это неправильный цвет!»).

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