Forwarded from Точка входа в программирование
Кроссплатформенные приложения на Python: весь путь от API до десктопа и веба
Не обязательно учить полдюжины языков и городить велосипед, чтобы собрать работающий кроссплатформенный продукт. В этой статье автор делится практическим опытом: как на одном только Python собрать backend на FastAPI, фронтенд на Flet, задеплоить всё это в облако и собрать под десктоп и веб.
По дороге — много интересных наблюдений и подводных камней: чем Flet радует, а где его кроссплатформенность пока только на бумаге, почему простые вещи лучше делать «без заморочек», а фанатам стоит готовить десятки гигабайт SDK и терпение.
Если вы уже освоились с Python и хотите попробовать собрать свой первый «всё‑в‑одном» проект, материал очень пригодится — от шаблонов кода до тонкостей деплоя и сборки.
А вы бы рискнули собрать свой API и фронт на Python, или сразу пошли бы во Flutter?
❤️ — «да, попробую»
🗿 — «лучше Flutter»!
#python #flet #fastapi #кроссплатформенность #разработка
Не обязательно учить полдюжины языков и городить велосипед, чтобы собрать работающий кроссплатформенный продукт. В этой статье автор делится практическим опытом: как на одном только Python собрать backend на FastAPI, фронтенд на Flet, задеплоить всё это в облако и собрать под десктоп и веб.
По дороге — много интересных наблюдений и подводных камней: чем Flet радует, а где его кроссплатформенность пока только на бумаге, почему простые вещи лучше делать «без заморочек», а фанатам стоит готовить десятки гигабайт SDK и терпение.
Если вы уже освоились с Python и хотите попробовать собрать свой первый «всё‑в‑одном» проект, материал очень пригодится — от шаблонов кода до тонкостей деплоя и сборки.
А вы бы рискнули собрать свой API и фронт на Python, или сразу пошли бы во Flutter?
❤️ — «да, попробую»
🗿 — «лучше Flutter»!
#python #flet #fastapi #кроссплатформенность #разработка
❤7🌚2👍1🗿1
5 архитектурных ошибок, которые мы совершаем при старте проектов
Многие из нас с головой уходят в реализацию идеи, не задавая себе главный вопрос: а что будет, когда проект вырастет?
Аспекты вроде масштабирования, как и фундамент дома, нужно продумывать сначала, иначе потом вас ждет не апгрейд, а перестройка с нуля. А еще именно в самом начале проекта закладывается почва для ада зависимостей: спонтанные решения, быстрые фиксы, «временные» костыли — всё это превращается в хаос, который сложно контролировать.
В статье Tproger 5 самых частых архитектурных ошибок, которые мешают проектам расти и развиваться.
#основы
@zen_of_python
🙊 — Если сам так писал
Многие из нас с головой уходят в реализацию идеи, не задавая себе главный вопрос: а что будет, когда проект вырастет?
Аспекты вроде масштабирования, как и фундамент дома, нужно продумывать сначала, иначе потом вас ждет не апгрейд, а перестройка с нуля. А еще именно в самом начале проекта закладывается почва для ада зависимостей: спонтанные решения, быстрые фиксы, «временные» костыли — всё это превращается в хаос, который сложно контролировать.
В статье Tproger 5 самых частых архитектурных ошибок, которые мешают проектам расти и развиваться.
#основы
@zen_of_python
🙊 — Если сам так писал
☃2👍2🎉1
Вопрос подписчика
Задает @vberia:
«Какие LLM лучше всего пишут/оптимизируют код Python?»
От админа: у нас куплен Cursor (Team) на сразу несколько команд разработки. Ошибки плодит в 99,9% только при недостаточной подаче контекста.
#обсуждение
@zen_of_python
Задает @vberia:
«Какие LLM лучше всего пишут/оптимизируют код Python?»
От админа: у нас куплен Cursor (Team) на сразу несколько команд разработки. Ошибки плодит в 99,9% только при недостаточной подаче контекста.
#обсуждение
@zen_of_python
✍1
Будущее Python: какие тренды развития и боли языка
На PyCon 2025 подробно обсудили ключевые тренды:
— продолжающееся доминирование в области ИИ и анализа данных благодаря Pandas, NumPy, TensorFlow, PyTorch, HuggingFace и новой системе RAPIDS;
— рост популярности асинхронных фреймворков и инструментов вроде FastAPI;
— внедрение в сферу IoT — благодаря MicroPython / CircuitPython для систем умного дома.
— продвижение JIT‑компиляции и Tail Calls.
#факт
@zen_of_python
На PyCon 2025 подробно обсудили ключевые тренды:
— продолжающееся доминирование в области ИИ и анализа данных благодаря Pandas, NumPy, TensorFlow, PyTorch, HuggingFace и новой системе RAPIDS;
— рост популярности асинхронных фреймворков и инструментов вроде FastAPI;
— внедрение в сферу IoT — благодаря MicroPython / CircuitPython для систем умного дома.
— продвижение JIT‑компиляции и Tail Calls.
#факт
@zen_of_python
❤2🆒2
Вопрос подписчика
Задает @Greatest_Of_AlI_Time:
«Какая книга или пособие на русском языке самое лучшее и понятное для изучения?»
От админа:
— если хочется погрузиться в талмуд, то «Python. Справочник» Мартелли А,
— если хочется карманный справочник, то Лутц М. «Python. Карманный справочник»
#обсуждение
@zen_of_python
Задает @Greatest_Of_AlI_Time:
«Какая книга или пособие на русском языке самое лучшее и понятное для изучения?»
От админа:
— если хочется погрузиться в талмуд, то «Python. Справочник» Мартелли А,
— если хочется карманный справочник, то Лутц М. «Python. Карманный справочник»
#обсуждение
@zen_of_python
❤🔥3✍2❤1😁1
isinstance()
: Проверка типовВ динамически типизированных языках нам особенно важно знать тип объекта, которым мы оперируем. С этим помогают две встроенные функции —
type()
и isinstance()
, и мы поговорим сегодня о второй из них.
isinstance(object, classinfo)
—
object
: объект, тип которого вы хотите проверить—
classinfo
: класс, тип или кортеж типов
# Является ли 42 целочисленным значением?
isinstance(42, int) # True
# Относится ли "hello" к одному из типов str / list (логическое «ИЛИ»)?
isinstance("hello", (str, list)) # True
isinstance() vs type()
Поначалу может показаться, что
type()
делает то же самое:
type(42) == int # True
Но
isinstance()
, в свою очередь, учитывает наследование:
class Animal:
pass
class Dog(Animal):
pass
dog = Dog()
type(dog) == Animal # False
isinstance(dog, Animal) # True
Это делает
isinstance()
предпочтительным выбором при работе с иерархиями классов.#основы
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
force-push-scanner | Спасаем ваши креды от «закоммичивания»
Это инструмент для обнаружения «висячих» коммитов, которые остаются в истории Git после git push --force. Он анализирует события из GHArchive, чтобы выявить случаи перезаписи истории с нулевым количеством коммитов, часто скрывающих удалённые секреты. Инструмент позволяет сканировать как отдельные репозитории, так и целые организации в GitHub через командную строку. .
Репозиторий проекта
#инструмент
@zen_of_python
Это инструмент для обнаружения «висячих» коммитов, которые остаются в истории Git после git push --force. Он анализирует события из GHArchive, чтобы выявить случаи перезаписи истории с нулевым количеством коммитов, часто скрывающих удалённые секреты. Инструмент позволяет сканировать как отдельные репозитории, так и целые организации в GitHub через командную строку. .
Репозиторий проекта
#инструмент
@zen_of_python
⚡1👎1
Agile в сторону! Доверьте планирование своей жизни IT-колоде
Тем более что наши арканы уже приготовили для вас послание. Переходите по ссылке, вытаскивайте карту и узнавайте, что вас ждёт сегодня, завтра и в другие дни спринта: https://tprg.ru/Bs2h
Реклама
Тем более что наши арканы уже приготовили для вас послание. Переходите по ссылке, вытаскивайте карту и узнавайте, что вас ждёт сегодня, завтра и в другие дни спринта: https://tprg.ru/Bs2h
Реклама
🌚1🌭1
Zango | Над Django
На DjangoCon Europe 2025 презентовали новый «метафреймворк». Его архитектура использует Django как фундамент (ORM, миграции, middleware и пр.) и обещает ускоренную разработку бизнес-приложений: CRM, ERP и прочая внутрянка. Среди его фичей — способность содержать несколько микросервисов как монолит;
#инструмент
@zen_of_python
На DjangoCon Europe 2025 презентовали новый «метафреймворк». Его архитектура использует Django как фундамент (ORM, миграции, middleware и пр.) и обещает ускоренную разработку бизнес-приложений: CRM, ERP и прочая внутрянка. Среди его фичей — способность содержать несколько микросервисов как монолит;
#инструмент
@zen_of_python
👀8👎1
trae-agent | LLM в CLI
ЕслиГосподь Бог вас наказал и вы кодите прямо в командной строке, а на дворе 2025-й, то лучше делать это с LLM. Библиотека позволяет фиксить, дописывать и читать логи вместе с вашей любимой нейронкой, понимающей естественный язык.
#инструмент
@zen_of_python
🤗 — Если за идею хочется приобнять создателей
Если
#инструмент
@zen_of_python
🤗 — Если за идею хочется приобнять создателей
🤗8👎2🙈1
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
❤1🔥1
Вы точно знаете отличия между
Каким будет результат выражения:
Большинство людей уверены, что Python вернёт True. Но если запустить код, мы увидим 5. Это происходит, потому что Python возвращает само значение операнда, если оно Truthy / Falsy.
Truthy / Falsy
Любой объект Python — либо «трушный», либо «ложный»:
— Falsy:
— Truthy: всё остальное
Оператор
Поведение or
Оператор возвращает первый Truthy операнд, если таковой есть; иначе — последний Falsy.
Идея: достаточно одной истины, и дальше Python не продолжает (Short‑Circuit Evaluation).
Поведение and
Оператор возвращает первый Falsy операнд, если он встретится; иначе — последний Truthy.
Логика: and требует, чтобы обе стороны были истинными, иначе выражение — ложь.
Приоритет not, and, or
Операторы имеют встроенный приоритет:
1.
2.
3.
Рекомендации
— Используйте скобки, чтобы явно показывать порядок операций;
— Не пишите слишком длинные цепочки с a
— Именованные логические условия помогают читать код.
#основы
or
и and
?Каким будет результат выражения:
5 or 0
Большинство людей уверены, что Python вернёт True. Но если запустить код, мы увидим 5. Это происходит, потому что Python возвращает само значение операнда, если оно Truthy / Falsy.
Truthy / Falsy
Любой объект Python — либо «трушный», либо «ложный»:
— Falsy:
0
, ""
, []
, {}
, None
, 0.0
— Truthy: всё остальное
Оператор
bool(obj)
конвертирует объект в логическое значение, но сами and
/ or
возвращают ненулевые сущности: последний вычисленный операнд.Поведение or
Оператор возвращает первый Truthy операнд, если таковой есть; иначе — последний Falsy.
5 or 0 # → 5 (первый truthy)
0 or 7 # → 7 (второе значение, truthy)
0 or '' or None # → None (все falsy, возвращается последний)
Идея: достаточно одной истины, и дальше Python не продолжает (Short‑Circuit Evaluation).
Поведение and
Оператор возвращает первый Falsy операнд, если он встретится; иначе — последний Truthy.
5 and 0 # → 0 (первый Falsy)
5 and 7 # → 7 (оба Truthy, возвращаем последний)
0 and 5 # → 0 (первый Falsy — возвращён)
Логика: and требует, чтобы обе стороны были истинными, иначе выражение — ложь.
Приоритет not, and, or
Операторы имеют встроенный приоритет:
1.
not
(наивысший)2.
and
3.
or
(наинизший)
True or False and False # → True, т. к. это эквивалентно True or (False and False)
(not False) or True # → True, сначала выполняется not.
Рекомендации
— Используйте скобки, чтобы явно показывать порядок операций;
— Не пишите слишком длинные цепочки с a
nd
/ or
без промежуточных переменных;— Именованные логические условия помогают читать код.
#основы
❤5👍5
uqlm | Фактчекинг ответа LLM
Проблеме галлюцинаций LLM сейчас уделяется немало внимания, и в опенсорсе тоже нашлись умельцы. Библиотека выполняет фактчекинг нагенеренного, предже чем оно отправится юзеру. На идеальное решение авторы не претендуют, потому каждому ответу присваивается скор уверенности в достоверности. Давно пора было!
Цена: бесплатно
@zen_of_python
Проблеме галлюцинаций LLM сейчас уделяется немало внимания, и в опенсорсе тоже нашлись умельцы. Библиотека выполняет фактчекинг нагенеренного, предже чем оно отправится юзеру. На идеальное решение авторы не претендуют, потому каждому ответу присваивается скор уверенности в достоверности. Давно пора было!
Цена: бесплатно
@zen_of_python
❤3🎃1