Регулярные выражения с Python (часть 2)
🖥 Любая строка сама по себе является регулярным выражением. Так, выражению r“Хаха“ будет соответствовать строка “Хаха”, при этом строка с маленькой буквой будет считаться другой.
🔤 Регулярные выражения имеют спецсимволы: ^$*+?{}[]\|(), которые являются управляющими конструкциями. Для написания их просто как символов требуется их экранировать, для чего нужно поставить перед ними знак \.
🐍 Сегодня разберем шаблоны, соответствующие одному символу, примеры представлены выше. Для работы с регулярками в Python используем встроенную библиотеку re.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Bandit | Поиск ошибок в Python коде
🐍 Bandit — это бесплатный инструмент, предназначенный для поиска распространенных проблем и ошибок в коде Python. Для запуска нужно указать желаемый файл со скриптом, после чего Bandit его обработает, построит из него AST и запустит соответствующие плагины к узлам.
🔤 Как только Bandit завершит сканирование, он создаст продробный анализа кода и выдаст список потенциально проблемных строк. Работает для версий Python 3.8+.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
Регулярные выражения с Python (часть 3)
🐍 Сегодня разберем создание квантификаторов. Они указывают количество повторений символа, после которого написаны. Для работы с регулярками в Python используем встроенную библиотеку re.
🖥 По умолчанию все квантификаторы жадные — захватывают максимально возможное число символов. Однако добавление знака ? после делает их ленивыми, то есть, тогда они будут захватывать минимально возможное число символов.
🔤 К примеру, выражение r'\d{2,4}' укажет, что нужно искать строки с цифрами от 2 до 4 включительно. В обычном случае в тексте сначала будут находится строки с 4 цифрами, потом с 3 и т.д. Однако после добавления знака ? будут находится строки только с 2 цифрами.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Zehef | Отслеживание электронной почты
🖥 Zehef — это бесплатый Python инструмент OSINT для отслеживания электронной почты. Благодаря Zehef вы можете узнать, не произошла ли утечка вашей электронной почты.
📞 Также можно найти информацию о том, на каких известных сайтах зарегистрирована ваша электронная почта, и есть возможность сгенерировать комбинации разных e-mail.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Регулярные выражения с Python (часть 4)
🐍 Сегодня разберем основные функции для работы с регулярками встроенной библиотеки re: search(), split(), findall(), finditer(), sub().
🖥 Стоить отметить, что некоторые методы возвращают результат в виде обьекта класа Match — объекта, содержащего информацию о поиске и результате. У этого объекта есть немало полезных методов, к примеру, с помощью метода span() можно получить кортеж, который содержит индексы начала и конца строки, которая подходит под шаблон. Или с помощью метода group() можно получить саму строку, попадающую под шаблон.
🔤 Search(pattern, string) и findall(pattern, string) — это две схожие функции, однако search() найдет в строке string первую строчку, подходящую под шаблон pattern, когда findall() найдет все. Также фукнция search() возвращает результат в виде объекта класса Match, а findall() в виде списка.
🔤 Split(pattern, string, maxsplit=0) — это аналог обычного str.split(), только разделение происходит по подстрокам, подходящим под шаблон pattern. Finditer(pattern, string) похож на findall(), однако он вернет итератор, который будет возвращать объекты класса Match.
🔤 Sub(pattern, repl, string, count=0) просто заменит в строке string все строки, попадающие под шаблон pattern, на строку repl.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Present | Создание презентаций
🐍 Present — это веселый Python инструмент, работающий в терминале, для создания презентаций с использованием цветов и эффектов. Процесс оформления слайдов в основном происходит за счет языка разметки Markdown, работает на версиях Python 3.7+
📌 Также интересной функцией является добавление codio — предварительно записанный воспроизводимый блок кода, который может быть полезен для живых демонстраций.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Functools | Модификация и расширение функций (часть 1)
🐍 Functools — это полезный модуль Python, который предназначен для функций высшего порядка: функций, которые действуют или возвращают другие функции. Таким образом можно адаптировать или расширять функции, не переписывая их полностью.
🔤 Сегодня разберем простой пример — partial(func, /, *args, **keywords). Partial() может сохранить какую-то часть аргументов *args и ключевых слов **keywords к функции func для последующего вызова, в результате чего создается новый объект с упрощенной записью.
📌 Также у объекта Partial есть три атрибута: partial.func — возвращает исходную функцию; partial.args — возвращает крайние левые позиционные аргументы, с которыми будет вызвана исходная функция; partial.keywords — возвращает ключевые аргументы, с которыми будет вызвана исходная функция.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
System Monitoring Center
🐍 System Monitoring Center — это, как можно понять по названию, инструмент, созданный для мониторинга системы. Он практически полностью написан на Python и обладает рядом функций: мониторинг общей системной информации, параметры настройки для каждой вкладки, разные темы и т.д.
🖥 Однако самое главное то, что он полностью бесплатный и обладает открытым исходным кодом, так что может пригодиться при разработке разных проектов.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Регулярные выражения с Python (часть 5)
🐍 Возвращаясь к встроенному модулю re и его функциями, нужно упомянуть, что к каждой можно дать дополнительный параметр flags, который несколько изменит режим работы регулярок. В качестве значения нужно передать сумму выбранных констант, вот основные из них:
🔤 re.ASCII — по умолчанию \w, \W, \b, \B, \d, \D, \s, \S соответствуют все юникодные символы. Например, \d соответствуют не только арабские цифры, но и вот такие: ٠١٢٣٤٥٦٧٨٩. Этот флаг говорит, что нужно работать только с ASCII символами, что ускоряет работу.
🔤 re.IGNORECASE позволяет не различать заглавные и маленькие буквы. В таком случае регулярки работают медленне, но иногда бывает полезно.
🔤 re.MULTILINE меняет работу символов ^ и $, которые соотвествуют началу и концу текста, так, что они начинают соответствовать началу и концу строки.
🔤 re.DOTALL — по умолчанию только символ \n конца строки не подходит под точку. С этим флагом точка — вообще любой символ.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Media is too big
VIEW IN TELEGRAM
GPT-4o | Новая языковая модель
🧠 GPT-4o (“o” for “omni”) — это новый шаг к гораздо более естественному взаимодействию человека и компьютера. Эта модель может обрабатывать информацию практически любого вида: изображение, аудио, текст, видео и т.д. Модель гораздо быстрее и умнее предыдущих, к примеру, она может реагировать на аудио всего за 232 миллисекунды, что аналогично времени реакции человека в разговоре.
💲 GPT-4o знает 50 языков, может искать информацию в интернете, пишет код в 10 раз быстрее обычной GPT-4, а самое главное — она полностью бесплатная. Кстати API для работы с этой моделью будет на 50% дешевле.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Functools | Модификация и расширение функций (часть 2)
🐍 Для кеширования результата выполнения функции в functools есть декоратор lru_cache(maxsize, typed), который оборачивает функцию с переданными в нее аргументами и запоминает возвращаемый результат соответствующий этим аргументам. Такое поведение может сэкономить время и ресурсы, когда функция периодически вызывается с одинаковыми аргументами.
🔤 Maxsize отвечает за максимальный размер кеша (int), а если для typed задано значение True, то аргументы функций разных типов будут кэшироваться отдельно. В другом случае реализация обычно будет рассматривать их как эквивалентные вызовы и кэшировать только один результат. (Некоторые типы, такие как str и int, могут кэшироваться отдельно, даже если передано False)
📌 Также декорированная функция получает метод cache_info(), который дает нам информацию о hits, misses, maxsize и currsize. В многопоточной среде hits и misses являются приблизительными. В коде выше представлена реализация эффективного вычисления чисел Фибоначчи.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Круто
Бесплатные деньги
Я вам говорил "Поверьте, все что экосистема телеграм продвитгает - стреляет"
Кто нафармил поздравляю с прибылью
Бесплатные деньги
Я вам говорил "Поверьте, все что экосистема телеграм продвитгает - стреляет"
Кто нафармил поздравляю с прибылью
❤3
👇 Внизу объяснение 👇
🐍 Все довольно просто — буквы сортируются не в алфавитном порядке, а по позиции в таблице UTF-16, получить значение которой можно с помощью функции ord(x).
🖥 ord(?) -> 63; ord(A) -> 65; ord(B) -> 66; ord(Z) -> 90; ord(b) -> 98; ord(c) -> 99. Таким образом, ответ будет следующий: ['?', 'A', 'B', 'Z', 'b', 'c']
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Что выведет код выше?
Anonymous Quiz
24%
['A', 'B', 'Z', 'b', ‘c’, '?']
41%
['?', 'A', 'B', 'Z', 'b', 'c']
20%
['A', 'B', ‘b’, ‘c’, ’Z’, '?']
16%
['?', 'A', 'B', ‘b’, ‘c’, ’Z’]
👍1