<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on Twistedminds</title><link>https://twistedminds.ru/tags/python/</link><description>Recent content in Python on Twistedminds</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 03 May 2026 11:00:00 +0000</lastBuildDate><atom:link href="https://twistedminds.ru/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust для беженцев с Python - 3</title><link>https://twistedminds.ru/2026/05/rust-for-python-refugees-3/</link><pubDate>Sun, 03 May 2026 11:00:00 +0000</pubDate><guid>https://twistedminds.ru/2026/05/rust-for-python-refugees-3/</guid><description>&lt;p&gt;Едем дальше? Ведь на защите от переполнения u8 и match далеко не уехать. Теперь пора заняться тем, без чего не живет приложенька: структурами данных. В Python говорим данные, подразумеваем словари (&lt;code&gt;Dict&lt;/code&gt;), списки (&lt;code&gt;List&lt;/code&gt;) и классы с данными &lt;code&gt;dataclasses&lt;/code&gt;. В Rust в структурах, перечислениях и векторах. Разница не только в названиях.&lt;/p&gt;
&lt;h2 id="списки-кортежи-массивы-два-вектора"&gt;
 Списки, кортежи, массивы, два вектора
 &lt;a class="heading-link" href="#%d1%81%d0%bf%d0%b8%d1%81%d0%ba%d0%b8-%d0%ba%d0%be%d1%80%d1%82%d0%b5%d0%b6%d0%b8-%d0%bc%d0%b0%d1%81%d1%81%d0%b8%d0%b2%d1%8b-%d0%b4%d0%b2%d0%b0-%d0%b2%d0%b5%d0%ba%d1%82%d0%be%d1%80%d0%b0"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;В Python список &lt;code&gt;list&lt;/code&gt; инициализируется &lt;code&gt;[]&lt;/code&gt; и представляет из себя швейцарский нож. И очередь, и стек, и массив, и буфер. По своей сути, это гетерогенный динамический массив указателей. Поскольку список в Python хранит не сами объекты, а ссылки на них, туда можно наваливать что угодно. И строки, и числа, и другие списки.&lt;/p&gt;</description></item><item><title>Rust для беженцев с Python - 2</title><link>https://twistedminds.ru/2026/04/rust-for-python-refugees-2/</link><pubDate>Fri, 24 Apr 2026 11:00:00 +0000</pubDate><guid>https://twistedminds.ru/2026/04/rust-for-python-refugees-2/</guid><description>&lt;p&gt;В прошлый раз мы познакомились с синтаксисом, узнали, что переменные по умолчанию неизменяемы, и посетили психотерапевта после знакомства с Borrow Checker. Теперь пора выйти за рамки &amp;ldquo;Hello, Stas&amp;rdquo; и разобраться, как в Rust устроены типы, отличные от &lt;code&gt;String&lt;/code&gt; и &lt;code&gt;&amp;amp;str&lt;/code&gt;. Без этого дальше не поедем.&lt;/p&gt;
&lt;h2 id="числовые-типы"&gt;
 Числовые типы
 &lt;a class="heading-link" href="#%d1%87%d0%b8%d1%81%d0%bb%d0%be%d0%b2%d1%8b%d0%b5-%d1%82%d0%b8%d0%bf%d1%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Но есть и хорошие новости. Не всегда в Rust придется сражаться с Borrow Сhecker. Иногда всё почти как в Python, только надо чуть-чуть докрутить.&lt;/p&gt;</description></item><item><title>Rust для беженцев с Python - 1</title><link>https://twistedminds.ru/2026/04/rust-for-python-refugees-1/</link><pubDate>Fri, 17 Apr 2026 11:00:00 +0000</pubDate><guid>https://twistedminds.ru/2026/04/rust-for-python-refugees-1/</guid><description>&lt;p&gt;Морозное январское утро. Салаты доедены, а организм всё ещё не понимает, какой сейчас год. Душа просит начать новый pet проект, которому никогда не суждено увидеть свет. И тут я узнаю, что вместо
pip стильно модно молодежно теперь использовать написанный на Rust uv, а ядро pydantic v2 переписали на rust. Стоп, а зачем питоновским инструментам Rust?&lt;/p&gt;
&lt;p&gt;Если убрать маркетинг, ответ довольно приземлённый. Python отлично справляется, пока:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ты быстро пишешь код&lt;/li&gt;
&lt;li&gt;тебе важнее скорость разработки, а не выполнения&lt;/li&gt;
&lt;li&gt;ошибки можно поймать после &amp;ldquo;ща-ща докатим в прод до дедлайн и тестами обмажем&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Но есть класс задач, где это перестаёт работать комфортно:&lt;/p&gt;</description></item></channel></rss>