TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Etiqueta: #python · 330 posts
Декоратор override @overrideиспользуется для переопределения методов в классах-наследниках. Он позволяет указать, что метод в подклассе переопределяет метод базового класса. Это может быть полезно для: — Повышения читабельности кода, так как сразу видно, какие методы переопределены. — Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка. — Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом. #python#decorators
Hashtags
Валидаторы данных Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно. Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок. Помимо этого, validators позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом. #python#validators
Hashtags
Распаковывание последовательностей при неизвестном числе элементов Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции. #python
Hashtags
Работаем с f-строками Думаю, про f-строки как метод форматирования все уже знают. Напоминаю, что появились они еще в Python 3.6. Но им добавили еще одну класснуюфичу в обновлении 3.8 — можно выводить имя переменной и сразу ее значение, добавив знак равно как показано на картинке. #python#f_string
Разница между генераторными выражениями и генераторами коллекций Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые. Распечатав переменные, можно заметить, что значением переменной a является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос, что же использовать. Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций. А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему. #python
Hashtags
Работа с YAML-Файлами в Python с Помощью Библиотеки PyYAML PyYAML позволяет эффективно работать с файлами в формате YAML (YAML Ain't Markup Language), который широко используется для конфигураций, настроек и обмена данными в структурированной форме. import yaml data_to_write = {'name': 'John Doe', 'age': 30, 'city': 'Example City'} with open('example.yaml', 'w') as file: yaml.dump(data_to_write, file, default_flow_style=False) with open('example.yaml', 'r') as file: loaded_data = yaml.safe_load(file) print(f"Загруженные данные: {loaded_data}") Результат (файл example.yaml): age: 30 city: Example City name: John Doe В этом примере мы используем PyYAML для записи словаря data_to_write в файл example.yaml и затем загружаем данные из этого файла обратно в переменную loaded_data. Библиотека PyYAML предоставляет удобные средства для работы с данными в формате YAML в Python. Будь то сохранение конфигураций, обмен структурированными данными или другие сценарии, где YAML имеет преимущество, PyYAML обеспечивает легкость в использовании и читаемый код🐍 #python#yaml#pyyaml
Поверхностное копирование Копирование объектов может быть «поверхностное» (shallow) или «глубокое» (deep). Различия между ними заключаются в том, как обрабатываются вложенные объекты. При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты. #python
Hashtags
🌐 Копирование веб-содержимого в Python с библиотекой pywebcopy Библиотека pywebcopy облегчает автоматизацию процесса загрузки веб-содержимого, что может быть полезным при создании веб-скраперов, загрузчиков или других приложений, требующих копирования данных из Интернета. Пример кода: from pywebcopy import save_webpage url = 'https://www.example.com' target_folder = 'path/to/folder' save_webpage(url, target_folder) В данном примере используется функция save_webpage для копирования веб-содержимого указанной веб-страницы (url) в указанную целевую папку (target_folder). Библиотека pywebcopy предоставляет простой и удобный способ копирования веб-содержимого прямо из Python. Она может быть полезна при создании скриптов для загрузки данных с веб-страниц, автоматизации сбора информации или создании зеркал сайтов. 💻 #python#pywebcopy
Hashtags
Читаем текст с картинки используя Tesseract от Google Google разработал систему Tesseract для извлечения текста из изображений через оптическое распознавание символов. Pytesseract - это удобная оболочка для системы Tesseract, облегчающая её использование. Чтобы извлечь текст из изображения, используйте метод image_to_string. Для работы с русским текстом укажите аргумент lang как 'rus'. Рекомендуется использовать библиотеку pillow для открытия изображений, хотя можно также просто указать путь к файлу. Пример кода: from PIL import Image import pytesseract # Открываем изображение с помощью Pillow image = Image.open('image.jpg') # Используем pytesseract для извлечения текста text = pytesseract.image_to_string(image, lang='rus') print(text) #python#pytesseract
Hashtags
Создание скриншотов с использованием модуля pyscreenshot Модуль pyscreenshot, обеспечивая кросс-платформенную функциональность, позволяет легко создавать скриншоты как всего экрана, так и его отдельных частей. Для работы этого модуля необходимо установить библиотеку Pillow. Для захвата изображения используется метод grab, для его отображения – show, а для сохранения – save. В метод grab можно также передать аргумент bbox, чтобы ограничить захват только определенной областью экрана. Этот модуль оказывается особенно полезным, например, при логировании скриптов, использующих Selenium. Selenium может открывать браузер и выполнять различные операции в нем, и использование pyscreenshot позволяет создавать скриншоты для последующего анализа и отладки. #python#pyscreenshot
Hashtags
PyQtGraph PyQtGraph — это библиотека Python для создания интерактивных 2D и 3D графиков, а также элементов графического интерфейса (GUI). Она основана на PyQt (или PySide) и NumPy, что делает ее мощным и универсальным инструментом для научных, инженерных и исследовательских задач. #python
Hashtags
Работа с методом str.replace() в Python Python предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace(), который используется для замены частей строки. Метод принимает дваосновных аргумента: первый - это подстрока, которую нужнозаменить в исходной строке, а второй - это подстрока, на которую происходитзамена. Кроме того, существует третийнеобязательныйаргумент, определяющий количествозаменстарой подстроки на новую. Если он не указан, метод заменяет все вхождения. #python#replace