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

Резултати

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

Пребарај: #johannesklumpp

当前筛选 #johannesklumpp清除筛选
🎼 CLÁSICA AL ATARDECER 🎻

@ClasicaAlAtardecer · Post #6454 · 29.11.2023 г., 18:00

#Sinfonía29#Mozart#JohannesKlumpp Titulo:La Sinfonía n.º 29 en La mayor, K. 201/186a Autor: Wolfgang Amadeus Mozart Movimientos: 🎵I. Allegro moderato, 2/2. 🎵 II. Andante, 2/4. 🎵 III. Menuetto: Allegretto – Trio, 3/4. 🎵 IV. Allegro con spirito, 6/8. Interpretación: Orquesta de Cámara Folkwang Director: Johannes Klumpp Fuente:🎼 @ClasicaAlAtardecer

🎼 CLÁSICA AL ATARDECER 🎻

@ClasicaAlAtardecer · Post #6453 · 29.11.2023 г., 18:00

​​#Sinfonía29#Mozart#JohannesKlumpp LA SINFONÍA N.º 29 EN LA MAYOR, K. 201/186a La Sinfonía n.º 29 en la mayor, K. 201/186a, fue escrita por Wolfgang Amadeus Mozart y completada el 6 de abril de 1774. Se trata, junto con la Sinfonía n.º 25, una de las más conocidas de sus sinfonías tempranas. Stanley Sadie la describe como "un monumento... personal en el tono, es quizás más individual en la búsqueda de una intimidad, en el estilo de la música de cámara pero con un carácter vehemente e impulsivo." La sinfonía está compuesta para dos oboes, dos trompas, y cuerdas. La sinfonía consta de cuatro movimientos dispuestos según el esquema clásico: 🎵I. Allegro moderato, 2/2. 🎵 II. Andante, 2/4. 🎵 III. Menuetto: Allegretto – Trio, 3/4. 🎵 IV. Allegro con spirito, 6/8. La Sinfonía en La se terminó en abril. Comienza suavemente en las cuerdas, con una caída de octava, y el tema se repite posteriormente saltando octavas cuando se unen los oboes y las trompas. El segundo tema, introducido por los primeros violines, está marcado por un trino recurrente. El segundo movimiento es el corazón palpitante de la sinfonía, una serenata para violines apagados que, citando a Edward Downes (el fallecido musicólogo, no el fallecido director de orquesta), revela "una encantadora ornamentación rococó y una delicada textura que parece más cercana a la de un cuarteto de cuerda que a la de una sinfonía". El tercer movimiento, tras una apertura aparentemente gentil, evoluciona hacia un minueto propulsivo, con ritmos punteados y fortissimos repentinos. En este caso son especialmente llamativas las octavas de viento al unísono con las que concluye cada una de sus dos secciones. El final es un asunto elegante y armónicamente rico, al estilo de los finales de "caza" de Haydn. @ClasicaAlAtardecer