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

TGINSIGHT SIMILAR POSTS

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

Изворен канал @pythonotes · Post #83 · 11 мај

У строки в Python есть два очень похожих метода. На столько похожих что кажется они делают одно и тоже. Это метод isdigit() и isnumeric() Давайте посмотрим зачем нам два одинаковых метода? И так ли они одинаковы? Очевидно что isdigit() говорит нам, состоит ли строка только из чисел 0-9 >>> '12'.isdigit() True >>> '12x'.isdigit() False >>> '-12'.isdigit() False >>> '12.5'.isdigit() False Можно предположить что isnumeric() делает более глубокий анализ и распознаёт в строке float или отрицательное число. >>> '15'.isnumeric() True >>> '-15'.isnumeric() False >>> '15.2'.isnumeric() False Нет, всё так же как и с другим методом. В чем же тогда разница? Для начала посмотрим следующие примеры: >>> '5'.isdigit(), '5'.isnumeric() # Обычная цифра 5 # True, True >>> '꧕'.isdigit(), '꧕'.isnumeric() # Яванская 5 # True, True >>> '෩'.isdigit(), '෩'.isnumeric() # Синхала 3 # True, True >>> '৩'.isdigit(), '৩'.isnumeric() # Бенгальская 3 # True, True >>> '༣'.isdigit(), '༣'.isnumeric() # Тибетская 3 # True, True >>> '³'.isdigit(), '³'.isnumeric() # 3 верхний индекс (степень) # True, True >>> '𝟝'.isdigit(), '𝟝'.isnumeric() # Математическая двойная 5 # True, True >>> '๔'.isdigit(), '๔'.isnumeric() # Тайская 4 # True, True >>> '➑'.isdigit(), '➑'.isnumeric() # 8 в круге # True, True А теперь примеры в которых, по мнению Python, результаты не равны >>> '¾'.isdigit(), '¾'.isnumeric() # дробь три четверти # False, True >>> '⅕'.isdigit(), '⅕'.isnumeric() # дробь одна пятая # False, True >>> '𒐶'.isdigit(), '𒐶'.isnumeric() # клинопись 3 # False, True >>> '三'.isdigit(), '三'.isnumeric() # 3 из унифицированной идеограммы # False, True >>> '⑩'.isdigit(), '⑩'.isnumeric() # цифра 10 в круге # False, True >>> 'Ⅳ'.isdigit(), 'Ⅳ'.isnumeric() # Римская 4 # False, True >>> '𑇪'.isdigit(), '𑇪'.isnumeric() # Сенегальская архаическая 10 # False, True >>> '𐌢'.isdigit(), '𐌢'.isnumeric() # Этрусская цифра 10 # False, True >>> 'ↂ'.isdigit(), 'ↂ'.isnumeric() # Римская цифра 10000 # False, True >>> '〇'.isdigit(), '〇'.isnumeric() # Символ ККЯ ноль # False, True Получается, что isdigit() говорит нам, является ли символ десятичной цифрой или спецсимволом, имеющим цифирное значение после преобразования. В свою очередь isnumeric() включает все дополнительные символы юникода которые имеют отношения к числовым и цифровым представлениям. Ну и пара примеров в которых в обоих случаях символ не является числом, это эмодзи. >>> '🕙'.isdigit(), '🕙'.isnumeric() # эмодзи 10 часов # False, False >>> '7️⃣'.isdigit(), '7️⃣'.isnumeric() # эмодзи 7 # False, False Также есть еще один дополнительный и весьма полезный метод isdecimal(). Он нам сообщает, можно ли из указанного символа сделать простую десятичную цифру. То есть сработает ли метод int(x) >>> '෩'.isdecimal(), int('෩') # Синхала 3 # True, 3 >>> '➑'.isdecimal(), int('➑') # 8 в круге # False, ValueError Какие выводы? 🔸 При определении цифры в строке isdigit() подходит лучше чем isnumeric(), но оба не гарантируют успешную конвертацию в int 🔸 Для однозначного определения возможности преобразования строки в int лучше подходит метод isdecimal() 🔸 Для однозначного определения символов 0...9 лучше использовать regex Полный список символов юникода которые определяются как numeric #basic

Hashtags

Резултати

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

Пребарај: #yangchen

当前筛选 #yangchen清除筛选
Tibicen

@world_music_geek · Post #877 · 22.01.2025 г., 19:25

Bhutan Balladeers — Your Face Is Like the Moon, Your Eyes Are Stars (Glitterbeat Records, 2024) #traditional#field_recording#zhungdra#ngalop#choekey#drumnyen#chiwang#yangchen#flute#Bhutan Альбом Bhutan Balladeers посвящён музыке «жунгдра» (གཞུང་སྒྲ་), традиции Бутана, уходящей корнями в XVII век. Продюсером выступил лауреат премии «Грэмми» Ян Бреннан, известный по работе с Tinariwen,Ustad Saami и Zomba Prison Project. Жунгдра — эндемичный бутанский музыкальный стиль, связанный с народной традицией областей Паро и Пунакха, исторического центра культуры народа нгалоп. Стиль отличается протяжными вокальными партиями, которые украшаются сложными мелодическими вариациями и микротональными переходами, медленно развивающими относительно простую инструментальную основу. Такой подход требует высокой подготовки исполнителей, что сделало жунгдра менее популярным по сравнению с ригсаром — стилем современной бутанской поп-музыки, основанным на использовании электронных синтезаторов. Помимо высокого мастерства, требуемого для исполнения стиля жунгдра, дополнительной сложностью является использование языка чёке, происходящего от санскрита и известного как «язык дхармы». Этот древний язык сегодня понятен в основном буддийским монахам, что делает его трудным для восприятия большинства бутанцев. Запись альбома проходила на лесной вершине недалеко от Тхимпху, столицы Бутана, с участием 16 певцов и почти без инструменталистов. Тем не менее, в записи нашли своё место некоторые традиционные бутанские инструменты: друмньен (трёхструнная лютня с двойными струнами), чхиванг (двухструнная скрипка), цимбалы и деревянные флейты. Всего было записано 37 песен, но на пластинку попало 11 из них. Уникальной особенностью записи стало взаимодействие с местной природой: вороны, будто откликаясь на исполнение, «комментировали» выступления музыкантов своими криками. Одним из самых запоминающихся моментов записи стало соло старейшей певицы Пемо Чоден, которая исполнила редкую композицию (предположительно, седьмой трек), неизвестную даже другим участникам записи. 🔗AppleMusic | Spotify | Deezer | TIDAL | Bandcamp