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
importlib
Библиотека появилась в Python 3.1 и реализует функцию __import__()
. importlib
применяется не так часто и нужен только при работе с модулями. #теория
👍1
from __future__ import barry_as_FLUFL
Пасхальное яйцо, которое работает только в интерактивной оболочке. Оно появилось, когда Guido, спустя 20 лет работы над языком, ушёл в отставку.Дядя Барри, преемник Гвидо, как новый руководитель решил внести ряд изменений, одним из которых было использование «алмазного оператор» (
<>
)PEP 401
#объяснение
👍18😁5