TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django

Резултати

Пронајдени 1 слични објави

Пребарај: #ncgs

当前筛选 #ncgs清除筛选
Хлебомолы

@hlebomoli · Post #952 · 02.11.2025 г., 10:24

🥖 Глютен — не злодей, а недопонятый белок Международная группа исследователей под руководством Jessica R Biesiekierski из Университета Мельбурна опубликовала в The Lancet очень классную и фундаментальную обзорную статью, которая суммирует современные представления о так называемой «нецелиакийной чувствительности к глютену» (NCGS). 📊 Главный вывод Большинство людей, считающих себя чувствительными к глютену, на самом деле реагируют не на сам глютен, а на другие вещества (например, ферментируемые углеводы FODMAP) — или даже на ожидание реакции, то есть эффект ноцебо. 😔Почему “чувствительность к глютену” вообще появилась ▫️Термин NCGS появился только в конце 1970-х, но стал модным после 2000-х ▫️Одновременно вырос рынок безглютеновых продуктов (сейчас — более 11 миллиардов долларов в год) ▫️Многие люди исключили глютен не из-за болезни, а из-за ощущения, что так «здоровее» — что отчасти поддерживали СМИ и маркетинг 🔬 Что показывают исследования ▫️Около 10% людей по всему миру сообщают, что у них есть чувствительность к глютену, но при строгих испытаниях только 16–30% из них действительно реагируют на глютен ▫️Когда участников помещали в двойные слепые плацебо-контролируемые исследования, различий между реакцией на глютен и плацебо почти не было ▫️В одной из ключевых работ оказалось, что ожидание того, что человек съел глютен, вызывало симптомы сильнее, чем сам глютен ▫️Другая работа показала, что фруктаны (вид FODMAP, содержащийся в пшенице и луке) чаще вызывают вздутие и боли, чем глютен 🧠Глютен — лишь часть более сложной картины Учёные всё чаще рассматривают NCGS не как отдельное заболевание, а как часть расстройств оси «мозг–кишечник», куда входит, например, синдром раздражённого кишечника (irritable bowel syndrome, IBS). Кишечник и мозг связаны миллионами нервных волокон и химических сигналов, и если человек ожидает боли или дискомфорта — мозг может действительно “усилить” восприятие. Многие пациенты одновременно реагируют на несколько продуктов, и их симптомы могут усиливаться из-за тревожности и ожидания боли. 🥗 Почему это важно 🔹Отказ от глютена без медицинских показаний часто приводит к дефициту питательных веществ и избыточным ограничениям 🔹Продукты без глютена в среднем стоят на 139% дороже, содержат меньше клетчатки, железа и витаминов группы B 🔹Поэтому, по словам авторов, важно не стремиться к строгой безглютеновой диете «на всякий случай», а искать индивидуальные причины симптомов и работать с врачом и диетологом 💬 Что говорят исследователи «Вопреки распространённому мнению, большинство людей с предполагаемой чувствительностью к глютену не реагируют на глютен, — отмечает Jessica Biesiekierski, — Их симптомы чаще вызваны другими компонентами пищи или ожиданием негативных ощущений» «Важно отказаться от идеи, что глютен сам по себе вреден, — добавляет гастроэнтеролог Jason Tye-Din, — Нам нужны лучшие диагностические инструменты и персонализированный подход к лечению» Нужно отметить, что пока нет ни одного надёжного анализа крови или теста, который бы подтверждал “чувствительность к глютену”. Диагноз остаётся диагнозом исключения — после того как исключили целиакию и аллергию на пшеницу Люди часто самоидентифицируются как «чувствительные к глютену», находят в этом объяснение хроническим симптомам — и чувствуют облегчение, когда им ставят диагноз. Поэтому важно, чтобы мы, как специалисты, не отвергали эти жалобы, а помогали разобраться в причинах — физиологических и психологических 😊 💬 Может, дело не в булке, а в том, что мы о ней думаем? 😊 #УголокМедНауки#EBM#Глютен#Lancet#NCGS