Специализированные типы данных (часть 2)
🐍 Продолжаем разбирать типы данных встроенного модуля collections. Сегодня разберем создание очереди с помощью deque().
📌 Очередь — это важная структура данных, где доступ к элементам можно объяснить так: первый пришел – первый вышел. В классической очереди элементы добавлять можно только в конец, а доставать из начала. Однако deque(iterable, maxlen) создаёт очередь из итерируемого объекта с максимальной длиной maxlen, где элементы можно добавлять и удалять как и с начала, так и с конца. Для этого реализованы свои методы, которые разобраны в коде выше.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Графы с Python (часть 4)
🖥 В предыдущих постах мы просто работали с библиотекой NetworkX и разбирали основные виды графов. Однако стоит знать, как работать с графами, имея под рукой только голый Python, поэтому сегодня разберем алгоритм для посещения всех узлов связного графа — BFS (Breadth first Search).
🖥 BFS — это рекурсивный алгоритм поиска всех вершин графа, целью которого является пометить каждую вершину, как посещенную, избегая циклов.
Словами алгоритм можно описать так:
1) Добавить в конец очереди любую вершину графа.
2) Взять передний элемент очереди и добавить его в список посещенных вершин.
3) Создать список смежных узлов текущей вершины, добавить в конец очереди только те, которых нет с списке посещенных.
4) Повторять шаги 2 и 3, пока очередь не опустеет.
🐍 Также, как вы уже поняли, для реализации алгоритма нам понадобится реализовать очередь. Для этого воспользуемся встроенным модулем collections.
🔤 BFS является основой для более комплексных алгоритмов, поэтому его освоение является важной частью при дальнейшем изучении графов.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Словами алгоритм можно описать так:
1) Добавить в конец очереди любую вершину графа.
2) Взять передний элемент очереди и добавить его в список посещенных вершин.
3) Создать список смежных узлов текущей вершины, добавить в конец очереди только те, которых нет с списке посещенных.
4) Повторять шаги 2 и 3, пока очередь не опустеет.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Астрономия с Python
🖥 Astropy — это попытка сообщества создать библиотеку Python для астрономических расчетов. Библиотека может быть полезна профессиональным астрономам и астрофизикам для того, чтобы упростить расчеты и повысить эффективность работы.
📡 Код выше задаст координаты Крабовидной туманности в Международной небесной системе координат и выведет их в разных форматах.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
📡 Код выше задаст координаты Крабовидной туманности в Международной небесной системе координат и выведет их в разных форматах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Специализированные типы данных (часть 3)
🐍 Сегодня разберем два вида словарей встроенной библиотеки collections — defaultdict и OrderedDict.
🔤 Defaultdict — вид словаря, который возвращает значение по умолчанию для несуществующих ключей. Это удобно, когда нужно избежать ошибок KeyError при добавлении новых элементов.
🔤 OrderedDict — словарь, который, как можно понять по названию, сохраняет порядок ключей. Метод popitem(last=True) удаляет последнюю пару ключа и значения по умолчанию, а, если last=False, удаляет первую. Метод move_to_end(key, last=True) перемещает существующий ключ и его значение в конец по умолчанию, при last=False — в начало.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2 1
Секретный генеративный ИИ для спецслужб США
🖥 Microsoft запустила предназначенную для спецслужб США модель генеративного искусственного интеллекта на суперкомпьютере, полностью изолированном от интернета. Уже в прошлом году ЦРУ запустило службу, подобную ChatGPT, для работы с несекретными документами, но спецслужбам требовалось обрабатывать гораздо более конфиденциальные данные.
📞 Microsoft потратила 18 месяцев на разработку, включая доработки суперкомпьютера в Айове. Представленная модель GPT4 является статической, она может только анализировать информацию, но не обучаться на этих данных.
📈 Таким образом, правительство может сохранить свою модель «чистой» и предотвратить утечку секретной информации. Прогнозируется, что доступ к системе получат около 10 000 сотрудников со специальным допуском.
🔝 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
Rubberduck | ChatGPT для Visual Studio Code
🧠 Rubberduck — это ИИ-помощник прямо в боковой панели Visual Studio Code, который значительно повысит эффективность работы. ИИ умеет генерировать, редактировать, объяснять код. Также он умеет анализировать ошибки, генерировать тесты, и, конечно же, поддается персональной настройке.
📌 Однако для того, чтобы начать работу с ИИ вам понадобится получить API ключ от OpenAI, то есть, придется зарегестрироваться.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Public APIs | Сборник бесплатных API
🖥 Public APIs – большой сборник бесплатных API для использования в разработке разных веб-приложений. Все API удобно разбиты по категориям, в которых легко ориентироваться.
📌 Также насчет каждого API дана краткая информация: нужен ли ключ аутентификации, какой протокол запроса и есть ли у API CORS.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
👇 Внизу объяснение 👇
🐍 Известно, что функция type() может определять тип данных у переменной. Однако, если передать в type() сразу три аргумента, то функция создаст новый класс.
🔤 Type(name, bases, dict) создаст новый класс, где name — имя нового класса (атрибут __name__); bases — родительские классы, (атрибут __bases__); dict — словарь, где хранятся методы класса и их названия (атрибут __dict__).
📌 Таким образом, строка «HelloWorld» станет названием нового класса, поэтому вывод будет следующий: <class '__main__.HelloWorld’>
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Что выведет код выше?
Anonymous Quiz
7%
<class 'str'>
47%
<class '__main__.HelloWorld’>
34%
[<class 'str’>, <class 'tuple’>, <class 'dict’>]
12%
TypeError
This media is not supported in your browser
VIEW IN TELEGRAM
Ciphey | Расшифровка данных
🖥 Ciphey — это полностью автоматизированный Python инструмент для дешифровки и взлома информации разных видов. Ciphey нужен, когда вы не знаете достаточно много о криптографии или вы просто предпологаете, что данные могут зашифрованы. Причем не обязательно знать, какой тип шифорвания — Ciphey справится сам с большинством задач менее чем за 3 секунды.
🔤 Ciphey не использует нейронные сети и может взламывать закодированные текста (пока только английские и немецкие), хеши, кодировки и т.д. Всего поддерживается более чем 50 разных видов шифров и, конечно, есть возможность дополнить инструмент своими руками.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Регулярные выражения с Python (часть 1)
🖥 Регулярное выражение (regular expression) — это строка, задающая шаблон поиска подстрок в тексте, при этом одному шаблону может соответствовать много разных строчек. Работа с регулярными выражениями или «регулярками» реализована во всех современных языках программирования, однако функционал может различаться от языка к языку.
🔤 Регулярки — это очень мощный инструмент, который может ускорить работу кода и уменьшить его объем, однако использовать регулярные выражения стоит с осторожностью и умом — плохо написанные работают медленно.
📌 Для начала разберем простой пример выражения — \d{5}; \d означает любую цифру, а {5} — ровно 5 раз. Следовательно, будут найдены все последовательности, состоящие из 5 цифр. Для работы с регулярками в Python используем встроенную библиотеку re.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Регулярные выражения с 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