contextmanager
Мы все пользуемся with и, согласитесь, это очень удобная фича. Но у неё есть один недостаток — для реализации одной функции нужен огромный класс.
Проблему решил декоратор contextmanager из contextlib. Просто повесив его на функцию мы можем быстро сделать то, что нам надо. Как его применять найдёте тут.
#теория
Мы все пользуемся with и, согласитесь, это очень удобная фича. Но у неё есть один недостаток — для реализации одной функции нужен огромный класс.
Проблему решил декоратор contextmanager из contextlib. Просто повесив его на функцию мы можем быстро сделать то, что нам надо. Как его применять найдёте тут.
#теория
👍16
Делаем искуственный интеллект, который будет играть в Counter Strike: Global Offensive.
На Python + PyTorch (YOLOv7) :3
https://youtu.be/utiS8URhgT0
На Python + PyTorch (YOLOv7) :3
https://youtu.be/utiS8URhgT0
YouTube
Я сделал ИИ для Counter Strike: Global Offensive :D | Часть 2
Делаем искуственный интеллект, который будет играть в Counter Strike: Global Offensive.
На Python + PyTorch (YOLOv7) :3
🆇 Скачать Нейросеть можно у нас в телеграме 🆇
𝟭: https://t.me/howdyho_official
===
Переходите и подписывайтесь 💗
🆇 Главы 🆇
0:00 - Гоу…
На Python + PyTorch (YOLOv7) :3
🆇 Скачать Нейросеть можно у нас в телеграме 🆇
𝟭: https://t.me/howdyho_official
===
Переходите и подписывайтесь 💗
🆇 Главы 🆇
0:00 - Гоу…
🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
Типичная реклама айти курсов:
😁37🤡9✍2🤬2🤮2👍1😍1🤨1
json.dumps()
не принимает UTF-8Все символы, которые не относятся к ASCII будут экранированы. Это говорит нам, что вывод всегда будет набором допустимых символов ASCII.
Тут есть два решения: первое это задать
ensure_ascii=False
, тогда значения останутся в виде unicode или декодировать строку на стороне получателя.Можете почитать на StackOverflow рассуждение на эту тему.
#объяснение #json
👍5🔥4
typing.TypeVar
Полезно, если вы не точно не знаете что пойдёт на вход, а тип на выходе зависит от того, что пришло. Это ещё называют Generics.На месте T появится тип, который пользователь передал на в x. То есть, если мы вызовем
repeat(1, 5)
то T будет int, а вернётся тип, принадлежащий Sequence[int]
.#теория
🔥5👍1🤔1
Полезные материалы про карьеру в IT от Selectel🔥
В канале про:
— технологии (паттерны проектирования, работа в Git, полезные линтеры)
— карьеру (как составить личный план развития или как провести код-ревью)
А еще инсайты про работу в команде Selectel (как проходит ретро команды или шавадэй)
Подписывайтесь → @selectelcareers
Реклама. ООО Селектел 2VtzqvjnmoX
В канале про:
— технологии (паттерны проектирования, работа в Git, полезные линтеры)
— карьеру (как составить личный план развития или как провести код-ревью)
А еще инсайты про работу в команде Selectel (как проходит ретро команды или шавадэй)
Подписывайтесь → @selectelcareers
Реклама. ООО Селектел 2VtzqvjnmoX
Fullstack на Django и Vue.js
Статья про расширения и технологии, которые можно использовать при создании своего сайта на Django.
В статье говорится про авторизацию, тестирование, создание Frontend'а, загрузку сайта на прод, аналитику и как это всё правильно настроить.
Читать
#теория
Статья про расширения и технологии, которые можно использовать при создании своего сайта на Django.
В статье говорится про авторизацию, тестирование, создание Frontend'а, загрузку сайта на прод, аналитику и как это всё правильно настроить.
Читать
#теория
Хабр
Fullstack на Джанго и Вью
Привет. Сегодня хочу рассказать про то, как за кулисами устроена работа моего мини-проекта по ведению задач autofocus.su . В предыдущей заметке я рассказал про принципы, лежащие в основе метода...
👍3
pyarmor - библиотека, предназначенная для защиты исходного кода от изменения и взлома 🛡
Так как Python код переводится в более простой bytecode, который нужен для ускорения работы интерпретатора, код весьма сложно защитить от взлома. Даже если конвертировать программу в исполняемый .exe файл, достать информацию из полученного экзешника не составит труда.
Поэтому, чтобы защитить код, используют различные методы обфускации, то есть запутывания кода.
Работать с pyarmor очень просто, нужно только установить библиотеку и передать ей на вход путь до директории с python-скриптами 🔸
В консоли вводим:
Более подробно об этой либе можно почитать в тут 👌🏻
P.S. также есть версия с графическим интерфейсом - pyarmor-webui
Так как Python код переводится в более простой bytecode, который нужен для ускорения работы интерпретатора, код весьма сложно защитить от взлома. Даже если конвертировать программу в исполняемый .exe файл, достать информацию из полученного экзешника не составит труда.
Поэтому, чтобы защитить код, используют различные методы обфускации, то есть запутывания кода.
Работать с pyarmor очень просто, нужно только установить библиотеку и передать ей на вход путь до директории с python-скриптами 🔸
В консоли вводим:
>>> pip install pyarmor
>>> pyarmor obfuscate C:\Users\User\test
В текущей рабочей директории сгенерируется папка dist , в которой и будут лежать обфусцированные файлы. Выглядеть они будут примерно так, как на скриншоте. Но при запуске будут выполняться точно так же, как и исходные скрипты.Более подробно об этой либе можно почитать в тут 👌🏻
P.S. также есть версия с графическим интерфейсом - pyarmor-webui
⚡5👍2🤔2
contextlib.suppress
Функция подавляет исключения, которые могут создать нам проблем, а их обработка не имеет никакого смысла.По своей сути это
try/except Exception: pass
только с with. Такой вариант выглядит приятнее и занимает на одну строку меньше.#теория
👍12
TYPE_CHECKING
Полезная переменная, если у вас есть цикличные зависимости. Например, у Article
есть category: Category
, а у Category
есть атрибут articles: list[Article]
.С TYPE_CHECKING можно спрятать импорты. Интересный факт, эта константа всегда False, а значит код в Runtime никогда не выполнится.
#теория
👍16
Model-Based Reinforcement Learning: From Data to Continuous Actions with a Python-based Toolbox
Milad Farsi
2023
Обучение с подкреплением является одной из основных парадигм машинного обучения (ML), в которой интеллектуальный агент выполняет действия, обеспечивающие оптимальное поведение устройств. Хотя эта парадигма машинного обучения приобрела огромный успех и популярность в последние годы, предыдущие исследования были сосредоточены либо на теории - оптимальном управлении и динамическом программировании - либо на алгоритмах, большинство из которых основаны на моделировании.
🤓СКАЧАТЬ КНИГУ
#python #machinelearning #eng
Milad Farsi
2023
Обучение с подкреплением является одной из основных парадигм машинного обучения (ML), в которой интеллектуальный агент выполняет действия, обеспечивающие оптимальное поведение устройств. Хотя эта парадигма машинного обучения приобрела огромный успех и популярность в последние годы, предыдущие исследования были сосредоточены либо на теории - оптимальном управлении и динамическом программировании - либо на алгоритмах, большинство из которых основаны на моделировании.
🤓СКАЧАТЬ КНИГУ
#python #machinelearning #eng
👍1
Масштабируемый Production-Ready Telegram бот на Python
Масштабируемый значит, что бот сможет обрабатывать как одного пользователя, так и 300 000 юзверей. Production-Ready значит, что его можно заливать на прод.
Автор создал такого бота использую Django, Celery и python-telegram-bot. Всё выложил на Dokku (альтернатива Heroku).
Перейти к чтению
#статья
Масштабируемый значит, что бот сможет обрабатывать как одного пользователя, так и 300 000 юзверей. Production-Ready значит, что его можно заливать на прод.
Автор создал такого бота использую Django, Celery и python-telegram-bot. Всё выложил на Dokku (альтернатива Heroku).
Перейти к чтению
#статья
👍10🤔1
Литералы
Чтобы указать, что функция может принимать заранее известные значения ("left", "center", "right"), используется тип
Его можно заметить в
📌 PEP 586
#теория
Чтобы указать, что функция может принимать заранее известные значения ("left", "center", "right"), используется тип
Literal
.Его можно заметить в
open()
. Функция принимает 'r', 'rb', 'w', но если передать 'kwargs', IDE выдаст предупреждение. Literal
можно вкладывать друг в друга: Literal['a', Literal['b']]
. Это удобно для связывания нескольких литералов.📌 PEP 586
#теория
❤8⚡3👍1
Что такое PEP
Python Enhancement Proposals (PEP) — Предложения по улучшению Python. Здесь описываются все нововведения в Python.
Основной — PEP 0, здесь хранятся ссылки на все предложения. Вас может заинтересовать with, __getattr__ у модулей, ленивые импорты (реализованы в Python 3.12).
P.S. Здесь я беру темы для постов :)
#теория
Python Enhancement Proposals (PEP) — Предложения по улучшению Python. Здесь описываются все нововведения в Python.
Основной — PEP 0, здесь хранятся ссылки на все предложения. Вас может заинтересовать with, __getattr__ у модулей, ленивые импорты (реализованы в Python 3.12).
P.S. Здесь я беру темы для постов :)
#теория
👍10🐳1
types.MappingProxyType
Доступный только для чтения словарь. По своей сути — Read-only обёртка для словаря. Данные считывать можно, а менять — нельзя.#теория
🔥7👍2🤔1
from enum import Enum
Библиотека для создания именованных перечислений. Признайте, что намного проще понять STATUS_CODE.ACCEPTED
, чем просто 202
.Несмотря на свою простоту, у модуля огромный функционал. Если у вас в коде есть магические числа (1, 2, 3, 4), то воспользуйтесь enum.
📌 Документация
#теория
👍24🔥3❤1
Переменная __path__
У каждого пакета есть переменная
Изменять переменную вручную — плохая идея, лучше таким не заниматься.
#теория
У каждого пакета есть переменная
__path__
в которой он ищет нужные модули. Переменную можно использовать для подмены методов или во время поиска ошибок. Изменять переменную вручную — плохая идея, лучше таким не заниматься.
#теория
👍1
Шпаргалка по Django
Будет полезна тем, кто желает освоить веб-разработку на Python. Здесь вы найдёте базовую информацию по работе с фреймворком — от его установки и до операций с Git.
https://cheatography.com/sebtoga/cheat-sheets/django/
#Шпаргалка
Будет полезна тем, кто желает освоить веб-разработку на Python. Здесь вы найдёте базовую информацию по работе с фреймворком — от его установки и до операций с Git.
https://cheatography.com/sebtoga/cheat-sheets/django/
#Шпаргалка
👍18❤1
Пакет
Это набор модулей (исходных файлов Python), которые предоставляют определенный набор функций или возможностей.
С Python 3.6 это любая папка с .py файлами. Но вообще считается хорошим тоном создавать в пакетах файл
Файл
#теория
Это набор модулей (исходных файлов Python), которые предоставляют определенный набор функций или возможностей.
С Python 3.6 это любая папка с .py файлами. Но вообще считается хорошим тоном создавать в пакетах файл
__init__.py
.Файл
__init__.py
вызывается когда модуль импортируется.#теория
👍10